private void PlaceMines(int minesToPlace) { while (minesCount < minesToPlace) { int x = UnityEngine.Random.Range(0, grid.GetWidth()); int y = UnityEngine.Random.Range(0, grid.GetHeight()); MapGridObject mapGridObject = grid.GetGridObject(x, y); if (mapGridObject.GetGridObjectType() != MapGridObject.Type.Mine) { mapGridObject.SetGridObjectType(MapGridObject.Type.Mine); minesCount++; } } }
private void PlaceMinesIndicators() { for (int x = 0; x < grid.GetWidth(); x++) { for (int y = 0; y < grid.GetHeight(); y++) { MapGridObject mapGridObject = grid.GetGridObject(x, y); if (mapGridObject.GetGridObjectType() == MapGridObject.Type.Empty) { List <MapGridObject> neighbourList = GetNeighbourList(x, y); int mineCount = 0; foreach (MapGridObject neighbour in neighbourList) { if (neighbour.GetGridObjectType() == MapGridObject.Type.Mine) { mineCount++; } } switch (mineCount) { case 1: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_1); break; case 2: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_2); break; case 3: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_3); break; case 4: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_4); break; case 5: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_5); break; case 6: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_6); break; case 7: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_7); break; case 8: mapGridObject.SetGridObjectType(MapGridObject.Type.MineNum_8); break; } } } } }