public static GridPoint[,] CreateNewBoard(int width, int height, int minesToPlace) { GridPoint[,] board = new GridPoint[width, height]; board.AddGridPointsToBoard(); board.AddMinesToBoard(minesToPlace); board.CalculateAdjacentMineCount(); foreach (var point in board) { GridPointHelper.SetDisplayCharacter(point); } return(board); }
public void CalculateAdjacentMineCount_ReturnsCorrectValue() { var board = new GridPoint[3, 3]; board.AddGridPointsToBoard(); var firstMineLocation = board[0, 0]; var secondMineLocation = board[1, 1]; firstMineLocation.IsMine = true; secondMineLocation.IsMine = true; board.CalculateAdjacentMineCount(); Assert.Equal(2, board[0, 1].AdjacentMineCount); Assert.Equal(1, board[0, 2].AdjacentMineCount); Assert.Equal(2, board[1, 0].AdjacentMineCount); Assert.Equal(1, board[1, 2].AdjacentMineCount); Assert.Equal(1, board[2, 0].AdjacentMineCount); Assert.Equal(1, board[2, 1].AdjacentMineCount); Assert.Equal(1, board[2, 2].AdjacentMineCount); }