Exemple #1
0
        private int ExplodeMine(int[,] field)
        {
            int row = 0, col = 0;
            SetNextMinePosition(field, out row, out col);

            Mine mine = new Mine(field[row, col]);
            int[,] explodeType = mine.ExplodeType();

            int explodeMinesCount = 0;
            for (int i = -2; i < 3; i++)
            {
                for (int j = -2; j < 3; j++)
                {
                    if (row + i >= 0 && row + i < field.GetLength(0) && col + j >= 0 &&
                        col + j < field.GetLength(1))
                    {
                        if (explodeType[i + 2, j + 2] == 1)
                        {
                            if (field[row + i, col + j] > 0)
                            {
                                explodeMinesCount++;
                            }
                            field[row + i, col + j] = -1;
                        }
                    }
                }
            }

            return explodeMinesCount;
        }
Exemple #2
0
 public int ExplodeMine(int[,] field, int x, int y)
 {
     Mine mine = new Mine(field[x, y]);
     int[,] explodeType = mine.ExplodeType();
     int explodeMinesCount = 0;
     for (int i = -2; i < 3; i++)
     {
         for (int j = -2; j < 3; j++)
         {
             if (x + i >= 0 && x + i < this.GameField && y + j >= 0 &&
                 y + j < this.GameField)
             {
                 if (explodeType[i + 2, j + 2] == 1)
                 {
                     if (field[x + i, y + j] > 0)
                     {
                         explodeMinesCount++;
                     }
                     field[x + i, y + j] = -1;
                 }
             }
         }
     }
     return explodeMinesCount;
 }
Exemple #3
0
 public void TestMethodExplodeTypeWithCorrectDataTypeOne()
 {
     Mine mine = new Mine(1);
     int[,] expected = {{0,0,0,0,0},
                     {0,1,0,1,0},
                     {0,0,1,0,0},
                     {0,1,0,1,0},
                     {0,0,0,0,0}};
     int[,] actual = mine.ExplodeType();
     CollectionAssert.AreEqual(expected, actual);
 }
Exemple #4
0
 public void TestMethodExplodeTypeWithInvalidData()
 {
     Mine mine = new Mine(4);
     int[,] expected = {{0,1,1,1,0},
                        {0,1,1,1,1},
                        {1,1,1,1,1},
                        {1,1,1,1,1},
                        {0,1,1,1,0}};
     int[,] actual = mine.ExplodeType();
     CollectionAssert.AreNotEqual(expected, actual);
 }