Beispiel #1
0
    public void Zero_sized_board()
    {
        var input    = "";
        var expected = "";

        Assert.Equal(expected, Minesweeper.Annotate(input));
    }
Beispiel #2
0
    public void No_rows()
    {
        var minefield = Array.Empty <string>();
        var expected  = Array.Empty <string>();

        Assert.Equal(expected, Minesweeper.Annotate(minefield));
    }
Beispiel #3
0
    private void GenerateFleet()
    {
        Fleet = new Fleet();

        Minesweeper m = new Minesweeper();

        m.HeadCoordinate.X = 0;
        m.HeadCoordinate.Y = 1;
        Minesweeper m2 = new Minesweeper();

        m2.HeadCoordinate.X = 0;
        m2.HeadCoordinate.Y = 9;
        m2.Orientation      = Orientation.LEFT;

        Destroyer d = new Destroyer();

        d.HeadCoordinate.X = 2;
        d.HeadCoordinate.Y = 2;
        Battleship b = new Battleship();

        b.HeadCoordinate.X = 4;
        b.HeadCoordinate.Y = 3;
        b.Orientation      = Orientation.LEFT;

        Fleet.AddShip(m);
        Fleet.AddShip(d);
        Fleet.AddShip(b);
        Fleet.AddShip(m2);
    }
Beispiel #4
0
            public void Test1MoveThree()
            {
                // Arrange
                var boardInitializer = new TestBoardInitializer1();
                var game             = new Minesweeper(2, 8, 1, boardInitializer);

                game.Click(0, 0);
                game.Click(0, 7);

                // Act
                var wonGame = game.Click(1, 4);

                // Assert
                Assert.True(wonGame);

                // check that cells are uncovered
                Assert.AreEqual(1, game.Grid[0][0][0]);
                Assert.AreEqual(1, game.Grid[0][1][0]);
                Assert.AreEqual(1, game.Grid[0][2][0]);
                Assert.AreEqual(1, game.Grid[0][3][0]);
                Assert.AreEqual(0, game.Grid[0][4][0]);
                Assert.AreEqual(1, game.Grid[0][5][0]);
                Assert.AreEqual(1, game.Grid[0][6][0]);
                Assert.AreEqual(1, game.Grid[0][7][0]);

                Assert.AreEqual(1, game.Grid[1][0][0]);
                Assert.AreEqual(1, game.Grid[1][1][0]);
                Assert.AreEqual(1, game.Grid[1][2][0]);
                Assert.AreEqual(1, game.Grid[1][3][0]);
                Assert.AreEqual(1, game.Grid[1][4][0]);
                Assert.AreEqual(1, game.Grid[1][5][0]);
                Assert.AreEqual(1, game.Grid[1][6][0]);
                Assert.AreEqual(1, game.Grid[1][7][0]);
            }
Beispiel #5
0
    public void Zero_sized_board()
    {
        var input    = "";
        var expected = "";

        Assert.That(Minesweeper.Annotate(input), Is.EqualTo(expected));
    }
        public void Should_Allow_To_Add_Row()
        {
            var obj = new Minesweeper(2, 5);

            obj.AddRow(".*");
            Assert.AreEqual(".*", obj.Current);
        }
Beispiel #7
0
        /// <summary>
        /// Randomly distribute the mines across the game board.
        /// </summary>
        public void PlaceMines()
        {
            var minesPlaced = 0;
            var random      = new Random();

            while (minesPlaced < NumMines)
            {
                int x = random.Next(0, Width);
                int y = random.Next(0, Height);

                if (!Cells[x, y].IsMine)
                {
                    Cells[x, y].CellType = CellType.Mine;
                    minesPlaced         += 1;
                }
            }

            for (var x = 0; x < Width; x++)
            {
                for (var y = 0; y < Height; y++)
                {
                    var c = Cells[x, y];
                    c.NumMines = c.GetNeighborCells().Where(n => n.IsMine).Count();
                }
            }

            Minesweeper.Invalidate();
        }
    public void No_rows()
    {
        var minefield = new string[0];
        var expected  = new string[0];

        Assert.Equal(expected, Minesweeper.Annotate(minefield));
    }
Beispiel #9
0
        public void AllNeighborsOfCellWithoutAnyBombInNeighborhoodWillBeShown()
        {
            var minesweeper = new Minesweeper(new bool[3, 3]);

            minesweeper.CellChoosen(1, 1);
            Assert.AreEqual(" 0 1 2\n0     \n1     \n2     \n", minesweeper.GetActualViewOfField());
        }
        public void Should_Initialize_Col_And_Row()
        {
            var obj = new Minesweeper(2, 5);

            Assert.AreEqual(2, obj.ColsNb);
            Assert.AreEqual(5, obj.RowsNb);
        }
        public void Should_Throw_Exception_When_Field_Mismatch_Excepted()
        {
            var obj = new Minesweeper(2, 2);

            obj.AddRow("*.");
            var result = obj.SolveField();
        }
Beispiel #12
0
        public void CellWithBoombInNeighborhoodIsShownAsCellScore()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false, false }, { false, false, false }, { true, true, true }
            });

            Assert.AreEqual('-', minesweeper.ShowCell(0, 1));
        }
Beispiel #13
0
        public void CellWithEightBombsInNeighborhoodHasScoreEight()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { true, true, true }, { true, false, true }, { true, true, true }
            });

            Assert.AreEqual(8, minesweeper.GetCellScore(1, 1));
        }
Beispiel #14
0
        public void CellWithThreeBombsInNeighborhoodHasScoreThree()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { true, true }, { false, true }
            });

            Assert.AreEqual(3, minesweeper.GetCellScore(1, 0));
        }
Beispiel #15
0
        public void CellWithOneBombInNeighborhoodHasScoreOne()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, true }, { false, false }
            });

            Assert.AreEqual(1, minesweeper.GetCellScore(0, 0));
        }
Beispiel #16
0
        public void ReturnsYouWinWhenAllCellsWithoutBombsAreShown()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false, false }, { false, false, false }, { false, false, true }
            });

            Assert.AreEqual("You win!", minesweeper.NextMove(0, 0));
        }
Beispiel #17
0
        public void ThereIsABombAtFieldWithBomb()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { true }
            });

            Assert.IsTrue(minesweeper.IsBomb(0, 0));
        }
Beispiel #18
0
        public void ReturnsGameOverOnBombChoosen()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false, false }, { false, false, false }, { false, false, true }
            });

            Assert.AreEqual("Game over!", minesweeper.NextMove(2, 2));
        }
Beispiel #19
0
        public void ReturnsNextRoundViewRepresentationOfField()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false, false }, { false, false, false }, { false, false, true }
            });

            Assert.AreEqual(" 0 1 2\n0- - -\n1- 1 -\n2- - -\n", minesweeper.NextMove(1, 1));
        }
Beispiel #20
0
        public void CellWithoutBombsInNeighborhoodHasScoreZero()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false }, { false, false }
            });

            Assert.AreEqual(0, minesweeper.GetCellScore(0, 0));
        }
Beispiel #21
0
        public void CellWithThreeBombsAtFieldAndZeroInNeighborhoodHasScoreZero()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false, false }, { false, false, false }, { true, true, true }
            });

            Assert.AreEqual(0, minesweeper.GetCellScore(0, 0));
        }
Beispiel #22
0
        public void CellWithTwoBombsInNeighborhoodHasScoreTwo()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, true, true }, { false, false, false }, { false, false, false }
            });

            Assert.AreEqual(2, minesweeper.GetCellScore(1, 2));
        }
Beispiel #23
0
        public void CreatesViewRepresentaionOfField()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false, false }, { false, false, false }, { false, false, true }
            });

            minesweeper.CellChoosen(0, 0);
            Assert.AreEqual(" 0 1 2\n0     \n1  1 1\n2  1 -\n", minesweeper.GetActualViewOfField());
        }
Beispiel #24
0
        public void AllCellsExceptTheBombsOnTheEdgesWillBeDisplayedOnMiddleBombChoosen()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { true, true, true, true, true }, { true, false, false, false, true }, { true, false, false, false, true }, { true, false, false, false, true }, { true, true, true, true, true }
            });

            minesweeper.CellChoosen(2, 2);
            Assert.AreEqual(" 0 1 2 3 4\n0- - - - -\n1- 5 3 5 -\n2- 3   3 -\n3- 5 3 5 -\n4- - - - -\n", minesweeper.GetActualViewOfField());
        }
Beispiel #25
0
        public void ChoosenCellWithThreeBombsInNeighborhoodWillBeShown()
        {
            var minesweeper = new Minesweeper(new[, ] {
                { false, false, false }, { false, false, false }, { true, true, true }
            });

            minesweeper.CellChoosen(1, 1);
            Assert.AreEqual(" 0 1 2\n0- - -\n1- 3 -\n2- - -\n", minesweeper.GetActualViewOfField());
        }
Beispiel #26
0
        /// <summary>
        /// User opened a mine and lost. Reveal the locations of the remaining mines
        /// and then restart the game.
        /// </summary>
        public void RevealMines()
        {
            // Reveal where the mines where
            GameOver = true;
            Minesweeper.Invalidate();

            // Ask to play again
            HandleGameOver(gameWon: false);
        }
        public void Should_Find_One_Mine()
        {
            var obj = new Minesweeper(2, 1);

            obj.AddRow("*.");
            var result = obj.SolveField();

            Assert.AreEqual("*1", result);
        }
Beispiel #28
0
 public static void Main(string[] args)
 {
     //var t = new Tetris();
     //var d = new Doodle();
     //var a = new Arkanoid();
     //var s = new Snake();
     var m = new Minesweeper();
     //var f = new Fifteen();
 }
Beispiel #29
0
        public void Uncover_FlaggedCell_DoNothing()
        {
            Minesweeper.GenerateGameBoard(10, 10);
            var board = Minesweeper.GameBoard.Board;

            board[2, 2].Display = Display.Flag;
            Minesweeper.Uncover(2, 2);

            Assert.AreEqual(Display.Flag, board[2, 2].Display);
        }
Beispiel #30
0
        public void Uncover_Mine_GameStatusSetToGameOver()
        {
            Minesweeper.GenerateGameBoard(10, 10);
            var board = Minesweeper.GameBoard.Board;

            board[2, 2].State = State.Mine;
            Minesweeper.Uncover(2, 2);

            Assert.AreEqual(GameStatus.GameOver, Minesweeper.GameStatus);
        }
        public static void Main(string[] аргументи)
        {
            Minesweeper gameMinesweeper = new Minesweeper();

            gameMinesweeper.Start();
        }
 public void Setup()
 {
     _minesweeper = new Minesweeper();
 }