public MineManager(IsometricGrid3D isometricGrid, int MineCount) { NumOfMines = MineCount; generateMines(isometricGrid); mineMap = new TileMap(grid, "0"); }
public Form1() { InitializeComponent(); typeof(Panel).InvokeMember("DoubleBuffered", BindingFlags.SetProperty | BindingFlags.Instance | BindingFlags.NonPublic, null, Canvas, new object[] { true }); isometricGrid = new IsometricGrid3D(315, 200, 9, 3); mineManager = new MineManager(isometricGrid, 10); renderers.Add(new Renderer2D(isometricGrid.to2D(0), TileMapTemplates.FilledGrid(isometricGrid.to2D(0)), Properties.Resources.TileBase)); renderers.Add(new Renderer2D(isometricGrid.to2D(0), mineManager.mineMap, Properties.Resources.Mine)); renderers.Add(new Renderer2D(isometricGrid.to2D(0), TileMapTemplates.FilledGrid(isometricGrid.to2D(0)), Properties.Resources.GrassTop)); playerGrid = isometricGrid.to2D(1); flagGrid = isometricGrid.to2D(1); flagMap = new FlagMap(flagGrid); renderers.Add(flagRenderer()); colliders = Collision.placeColliders(playerGrid, TileMapTemplates.FilledGrid(playerGrid)); }
private void generateMines(IsometricGrid3D isometricGrid) { int length = isometricGrid.GridSize; //int placedMines = 0; int x, y; grid = new string[length, length]; // Placing Mines for (int i = 0; i < NumOfMines; i++) { x = rand.Next(0, length); y = rand.Next(0, length); while (grid[x, y] == "f") { x = rand.Next(0, length); y = rand.Next(0, length); } grid[x, y] = "f"; } // Filling in blanks for (int for_y = 0; for_y < length; for_y++) { for (int for_x = 0; for_x < length; for_x++) { if (grid[for_x, for_y] != "f") { grid[for_x, for_y] = "0"; } } } }