/// <summary> /// Set up the galaxy /// </summary> /// <param name="galaxyType"></param> /// <param name="minPlanets"></param> /// <param name="maxPlanets"></param> /// <param name="r"></param> /// <param name="reason"></param> public bool GenerateGalaxy(GALAXYTYPE galaxyType, int minPlanets, int maxPlanets, Random r, out string reason) { if (_bw.IsBusy) { reason = "Already in process of generating a galaxy"; return false; } _bw.DoWork += GenerateGalaxyThread; _bw.RunWorkerCompleted += GenerateGalaxyCompleted; GalaxyArgs args = new GalaxyArgs(); args.GalaxyType = galaxyType; args.MinPlanets = minPlanets; args.MaxPlanets = maxPlanets; args.Random = r; _bw.RunWorkerAsync(args); reason = null; return true; }
private static bool[][] GenerateRandom(GALAXYTYPE type) { int width = 0; int height = 0; switch (type) { case GALAXYTYPE.SMALL: { width = 21; height = 15; } break; case GALAXYTYPE.MEDIUM: { width = 27; height = 21; } break; case GALAXYTYPE.LARGE: { width = 33; height = 24; } break; case GALAXYTYPE.HUGE: { width = 39; height = 27; } break; } bool[][] grid = new bool[width][]; for (int i = 0; i < grid.Length; i++) { grid[i] = new bool[height]; for (int j = 0; j < height; j++) { grid[i][j] = true; } } return(grid); }
/// <summary> /// Set up the galaxy /// </summary> /// <param name="galaxyType"></param> /// <param name="minPlanets"></param> /// <param name="maxPlanets"></param> /// <param name="r"></param> /// <param name="reason"></param> public bool GenerateGalaxy(GALAXYTYPE galaxyType, int minPlanets, int maxPlanets, Random r, out string reason) { if (_bw.IsBusy) { reason = "Already in process of generating a galaxy"; return(false); } _bw.DoWork += GenerateGalaxyThread; _bw.RunWorkerCompleted += GenerateGalaxyCompleted; GalaxyArgs args = new GalaxyArgs(); args.GalaxyType = galaxyType; args.MinPlanets = minPlanets; args.MaxPlanets = maxPlanets; args.Random = r; _bw.RunWorkerAsync(args); reason = null; return(true); }
private static bool[][] GenerateRandom(GALAXYTYPE type) { int width = 0; int height = 0; switch (type) { case GALAXYTYPE.SMALL: { width = 21; height = 15; } break; case GALAXYTYPE.MEDIUM: { width = 27; height = 21; } break; case GALAXYTYPE.LARGE: { width = 33; height = 24; } break; case GALAXYTYPE.HUGE: { width = 39; height = 27; } break; } bool[][] grid = new bool[width][]; for (int i = 0; i < grid.Length; i++) { grid[i] = new bool[height]; for (int j = 0; j < height; j++) { grid[i][j] = true; } } return grid; }