public Board(int rows, int columns, ILandmineInstaller landmineInstaller, ILandminesCalculator landminesCalculator, ILandmineDetector landminesDetector, IClearGroundFinder <int, int> clearGroundFinder) { _board = new byte[rows, columns]; landmineInstaller.InstallLandmine(_board, landMine, landminesCalculator); landminesDetector.DetectLandmines(_board, landMine, this.IsLandmine); _clearGroundFinder = clearGroundFinder; }
public void InstallLandmine(byte[,] board, byte landmine, ILandminesCalculator landmineCalculator) { var boardRowMax = board.GetLength(0); var boardColumnMax = board.GetLength(1); var boardRowIndex = boardRowMax - 1; var boardColumnIndex = boardColumnMax - 1; var landminesToInstall = landmineCalculator.LandminesToInstall(boardRowMax, boardColumnMax); var random = new Random(); for (int i = 0; i < landminesToInstall; i++) { var randomRowIndex = random.Next(0, boardRowIndex); var randomColumnIndex = random.Next(0, boardColumnIndex); board[randomRowIndex, randomColumnIndex] = landmine; } }
// 9 1 0 0 // 1 1 0 0 // 0 0 0 0 // 0 0 0 0 public void InstallLandmine(byte[,] board, byte landmine, ILandminesCalculator landmineCalculator) { board[0, 0] = landmine; }