private void button1_Click(object sender, EventArgs e) { MinesweeperGrid nextForm = new MinesweeperGrid(difficulty); this.Hide(); nextForm.Show(); }
public void AdjacentMines() { bool[,] testGrid = { { true, false }, { false, true } }; MinesweeperGrid grid = new MinesweeperGrid(testGrid); Assert.AreEqual(2, grid.Height); Assert.AreEqual(2, grid.Width); // Top row. Assert.IsTrue(grid[0, 0].HasMine); Assert.AreEqual(2, grid[0, 0].NumberOfNearbyMines); Assert.IsFalse(grid[0, 1].HasMine); Assert.AreEqual(2, grid[0, 1].NumberOfNearbyMines); // Bottom row. Assert.IsFalse(grid[1, 0].HasMine); Assert.AreEqual(2, grid[1, 0].NumberOfNearbyMines); Assert.IsTrue(grid[1, 1].HasMine); Assert.AreEqual(2, grid[1, 1].NumberOfNearbyMines); }
public void Constructor_TestIfInitializesEmptyCells() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); bool existsNonEmptyCell = false; for (int i = 0; i < gridRows; i++) { for (int j = 0; j < gridCols; j++) { if (grid.GetCellValue(i, j) != MinesweeperCell.EmptyCell) { existsNonEmptyCell = true; break; } } if (existsNonEmptyCell) { break; } } Assert.IsFalse(existsNonEmptyCell); }
public void GetCellValue_TestWithInvalidCellPosition_ShouldThrowException() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); grid.SetCellValue(10, 2, '+'); }
public void IsValidCell_TestWithValidCellPosition_ShouldReturnTrue() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); Assert.IsTrue(grid.IsValidCell(8, 4)); }
public void GetCell_TestWithValidCellPosition() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); MinesweeperCell cell = grid.GetCell(1, 1); Assert.AreEqual(MinesweeperCell.EmptyCell, cell.Value); }
public void GetCellValue_TestWithValidCellPosition() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); grid.SetCellValue(1, 1, '+'); Assert.AreEqual('+', grid.GetCellValue(1, 1)); }
public void RevealCell_WhenTheCellIsInvalid_ShouldThrowException() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); grid.SetCellValue(1, 1, '*'); grid.RevealCell(1, 10); }
public void PrintGridTest1() { bool[,] testGrid = { { true } }; MinesweeperGrid grid = new MinesweeperGrid(testGrid); var gridText = Program.PrintGrid(grid).ToString(); var expectedOutput = "+---+\n| * |\n+---+\n"; Assert.AreEqual(expectedOutput, gridText); }
public void RevealCell_WhenTheCellIsMine() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); grid.SetCellValue(1, 1, '*'); char revealedValue = grid.RevealCell(1, 1); Assert.AreEqual('*', revealedValue); }
public void MarkCell_WhenThereAreUnrevealedCells() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); grid.SetCellValue(0, 0, '*'); grid.SetCellValue(0, 1, '*'); grid.SetCellValue(1, 0, '*'); grid.SetCellValue(1, 2, '-'); grid.MarkCell('+'); Assert.AreEqual('+', grid.GetCellValue(1, 2)); }
public void RevealMines_WhenTheGridContainsMines() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); grid.SetCellValue(0, 0, '*'); grid.SetCellValue(0, 1, '*'); grid.SetCellValue(1, 0, '*'); grid.SetCellValue(1, 2, '*'); grid.RevealMines(); Assert.AreEqual(4, grid.RevealedCount()); }
public void SingleCell() { bool[,] testGrid = { { true } }; MinesweeperGrid grid = new MinesweeperGrid(testGrid); Assert.AreEqual(1, grid.Height); Assert.AreEqual(1, grid.Width); Assert.IsTrue(grid[0, 0].HasMine); Assert.AreEqual(1, grid[0, 0].NumberOfNearbyMines); Assert.Throws <IndexOutOfRangeException>(delegate() { var cell = grid[0, 1]; }); Assert.Throws <IndexOutOfRangeException>(delegate() { var cell = grid[1, 0]; }); }
public void RevealedCount_TestWhenSomeMinesAreRevealed() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); grid.SetCellValue(0, 0, '*'); grid.SetCellValue(0, 1, '*'); grid.SetCellValue(1, 0, '*'); grid.SetCellValue(1, 2, '*'); grid.RevealCell(0, 0); grid.RevealCell(0, 1); Assert.AreEqual(2, grid.RevealedCount()); }
public void SingleRow() { bool[,] testGrid = { { true, false } }; MinesweeperGrid grid = new MinesweeperGrid(testGrid); Assert.AreEqual(1, grid.Height); Assert.AreEqual(2, grid.Width); Assert.IsTrue(grid[0, 0].HasMine); Assert.AreEqual(1, grid[0, 0].NumberOfNearbyMines); Assert.IsFalse(grid[0, 1].HasMine); Assert.AreEqual(1, grid[0, 1].NumberOfNearbyMines); }
public void StartGame(int minesCount) { foreach (Transform cell in _container) { Destroy(cell.gameObject); } Cell[,] cells = new Cell[10, 10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { Cell c = GameObject.Instantiate(_cellPrefab, _container, false); c.Init(i, j); c.Button.onClick.AddListener(OnCellClick); cells[i, j] = c; } } _minesweeper = new MinesweeperGrid(10, minesCount, cells); SafeZonesLeft = 100; }
public void SimpleGrid() { bool[,] testGrid = { { true, false, false }, { false, false, false }, { false, false, true } }; MinesweeperGrid grid = new MinesweeperGrid(testGrid); Assert.AreEqual(3, grid.Height); Assert.AreEqual(3, grid.Width); // Top row. Assert.IsTrue(grid[0, 0].HasMine); Assert.AreEqual(1, grid[0, 0].NumberOfNearbyMines); Assert.IsFalse(grid[0, 1].HasMine); Assert.AreEqual(1, grid[0, 1].NumberOfNearbyMines); Assert.IsFalse(grid[0, 2].HasMine); Assert.AreEqual(0, grid[0, 2].NumberOfNearbyMines); // Middle row. Assert.IsFalse(grid[1, 0].HasMine); Assert.AreEqual(1, grid[1, 0].NumberOfNearbyMines); Assert.IsFalse(grid[1, 1].HasMine); Assert.AreEqual(2, grid[1, 1].NumberOfNearbyMines); Assert.IsFalse(grid[1, 2].HasMine); Assert.AreEqual(1, grid[1, 2].NumberOfNearbyMines); // Bottom row. Assert.IsFalse(grid[2, 0].HasMine); Assert.AreEqual(0, grid[2, 0].NumberOfNearbyMines); Assert.IsFalse(grid[2, 1].HasMine); Assert.AreEqual(1, grid[2, 1].NumberOfNearbyMines); Assert.IsTrue(grid[2, 2].HasMine); Assert.AreEqual(1, grid[2, 2].NumberOfNearbyMines); }
public void GetCell_TestWithInvalidCellPosition_ShouldThrowException() { int gridRows = 10, gridCols = 10, minesCount = 4; MinesweeperGrid grid = new MinesweeperGrid(gridRows, gridCols, minesCount); MinesweeperCell cell = grid.GetCell(10, 1); }