Ejemplo n.º 1
0
 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;
            }
        }
Ejemplo n.º 3
0
 // 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;
 }