public void GameStatus_AssertSunk_SquareSetToHit()
        {
            var    coordinate     = TestData.TestData.GetCoordinate();
            string battleshipName = "test";
            var    playerBoard    = new PlayerBoard();

            playerBoard.CreateBoard(10, 10);
            playerBoard.AddBattleShip(coordinate, battleshipName);
            var hitResult = playerBoard.Attack(2, 1);

            hitResult.Should().Be(SquareStatus.hit.ToString());
            var miss = playerBoard.Attack(2, 3);

            miss.Should().Be(SquareStatus.miss.ToString());
            playerBoard.GameStatus().Should().BeFalse();
            playerBoard.Attack(2, 2);
            playerBoard.GameStatus().Should().BeTrue();
        }
예제 #2
0
        public ComputerAttackResult AttackPlayer()
        {
            ComputerAttackResult compu = new ComputerAttackResult();

            compu.Row    = RandomManager.GetNext(0, PlayerBoard.Size);
            compu.Col    = RandomManager.GetNext(0, PlayerBoard.Size);
            compu.Result = PlayerBoard.Attack(new Location(compu.Row, compu.Col));
            while (compu.Result == AttackResult.repeat)
            {
                compu.Row    = RandomManager.GetNext(0, PlayerBoard.Size);
                compu.Col    = RandomManager.GetNext(0, PlayerBoard.Size);
                compu.Result = PlayerBoard.Attack(new Location(compu.Row, compu.Col));
            }
            return(compu);
        }