public static void cell_Click(Cell.Position pos) { var cell = Map.Cells[pos.Y, pos.X]; if (!Game.FirstButtonWasPressed) { Map.SetBombs(cell.Pos); Game.FirstButtonWasPressed = true; } cell.Open(); }
public static void SetBombs(Cell.Position firstPos) { for (var i = 0; i < BombAmount; i++) { var pos = BombCell.GenerateBombPos(firstPos); var button = Cells[pos.Y, pos.X].Button; Cells[pos.Y, pos.X] = new BombCell(pos.X, pos.Y); Cells[pos.Y, pos.X].Button = button; } foreach (var cell in Cells) { if (cell is EmptyCell) { ((EmptyCell)cell).FindBombCount(); } } }
public static Position GenerateBombPos(Cell.Position firstPos) { var random = new Random(); var bombPosX = random.Next(Map.Width); var bombPosY = random.Next(Map.Height); while (Map.Cells[bombPosY, bombPosX].opened || Map.Cells[bombPosY, bombPosX] is BombCell || (firstPos.X == bombPosX && firstPos.Y == bombPosY)) { bombPosX = random.Next(Map.Width); bombPosY = random.Next(Map.Height); } Console.WriteLine("============" + bombPosY + "===========" + bombPosX); return(new Position { X = bombPosX, Y = bombPosY }); }
public static void cell_LongClick(Cell.Position pos) { var cell = Map.Cells[pos.Y, pos.X]; cell.SetOrRemoveFlag(); }