Beispiel #1
0
        public void TestTrackingBoard()
        {
            Options.SetDefaultOptions();
            var trackingBoard = new TrackingBoard();

            Assert.AreEqual("TrackingBoard", trackingBoard.CurrentBoardName());
            Assert.AreEqual(BoardSquareState.Water, trackingBoard[9, 9]);
            trackingBoard[2, 5] = BoardSquareState.Submarine;
            Assert.AreEqual(BoardSquareState.Submarine, trackingBoard[2, 5]);
        }
Beispiel #2
0
 public Player(string name, List <Coordinates> movesDoneList, List <Ship> ships, GamingBoard gamingBoard, TrackingBoard trackingBoard, List <Ship> sunkShips, int hitPoints)
 {
     UserName      = name;
     MovesDoneList = movesDoneList;
     Ships         = ships;
     GamingBoard   = gamingBoard;
     SunkShips     = sunkShips;
     HitPoints     = hitPoints;
     TrackingBoard = trackingBoard;
 }
Beispiel #3
0
        public TrackingBoard GetDomainTrackingBoard()
        {
            var trackingBoard = new TrackingBoard(Size);

            foreach (var square in BoardSquares)
            {
                trackingBoard[square.X, square.Y] = trackingBoard.BoardSquareStateFromString(square.Value);
            }

            return(trackingBoard);
        }
Beispiel #4
0
 public Player(string name)
 {
     UserName      = name;
     MovesDoneList = new List <Coordinates>();
     Ships         = new List <Ship>();
     InitializeShips();
     GamingBoard   = new GamingBoard();
     TrackingBoard = new TrackingBoard();
     SunkShips     = new List <Ship>();
     HitPoints     = Ships.Sum(ship => ship.Health);
 }
Beispiel #5
0
 public Computer(string name, List <Coordinates> movesDoneList, List <Ship> ships, GamingBoard gamingBoard, TrackingBoard trackingBoard, List <Ship> sunkShips, int hitPoints,
                 List <Coordinates> allPossibleCoordinates) : base(name, movesDoneList, ships, gamingBoard, trackingBoard, sunkShips, hitPoints)
 {
     UserName               = name;
     MovesDoneList          = movesDoneList;
     Ships                  = ships;
     GamingBoard            = gamingBoard;
     TrackingBoard          = trackingBoard;
     SunkShips              = sunkShips;
     HitPoints              = hitPoints;
     AllPossibleCoordinates = allPossibleCoordinates;
 }
Beispiel #6
0
        public void TestOptionsChanging()
        {
            Options.SetDefaultOptions();
            var board = new TrackingBoard();

            Assert.AreEqual(10, board.BoardSize);

            Options.ChangeOption("Board size", 30);

            var board1 = new TrackingBoard();

            Assert.AreEqual(30, board1.BoardSize);

            var expected = Options.ChangeOption("Board size", 0);

            Assert.AreEqual(expected, false);
        }
Beispiel #7
0
        public string GetBoardsAsString(GamingBoard gamingBoard, TrackingBoard trackingBoard)
        {
            var sb = new StringBuilder();

            sb.Append(GetLettersForBoard(gamingBoard.BoardSize));
            sb.Append("\t");
            sb.Append(GetLettersForBoard(trackingBoard.BoardSize) + Environment.NewLine);

            for (var i = 0; i < gamingBoard.BoardSize; i++)
            {
                sb.Append(GetRowSeparator(gamingBoard.BoardSize) + "\t");
                sb.Append(GetRowSeparator(trackingBoard.BoardSize) + Environment.NewLine);
                sb.Append(GetNumbersForBoard(i));

                for (var j = 0; j < gamingBoard.BoardSize + 1; j++)
                {
                    if (j < gamingBoard.BoardSize)
                    {
                        sb.Append("| " + GetBoardSquareStateSymbol(gamingBoard[i, j]) + " ");
                        continue;
                    }

                    if (j == gamingBoard.BoardSize)
                    {
                        sb.Append("|\t");
                        sb.Append(GetNumbersForBoard(i));
                    }

                    for (var k = 0; k < trackingBoard.BoardSize; k++)
                    {
                        sb.Append("| " + GetBoardSquareStateSymbol(trackingBoard[i, k]) + " ");
                    }
                }
                sb.Append("|" + Environment.NewLine);
            }

            sb.Append(GetRowSeparator(gamingBoard.BoardSize) + "\t");
            sb.Append(GetRowSeparator(trackingBoard.BoardSize));

            return(sb.ToString());
        }
Beispiel #8
0
        } // end GetDomainPlayer

        public Computer GetDomainComputer(List <Domain.Ships.Ship> ships, GamingBoard gamingBoard, TrackingBoard trackingBoard, List <Domain.Ships.Ship> sunkShips)
        {
            var hitPoints = ships.Sum(c => c.Health);
            var allPossibleCoordinates     = new List <Coordinates>();
            var allCoordinatesDeserialized = JsonConvert.DeserializeObject <List <int> >(AllCoordinates);
            var i = 0;

            while (i < allCoordinatesDeserialized.Count)
            {
                allPossibleCoordinates.Add(new Coordinates(allCoordinatesDeserialized[i], Coordinates.IntToYCoordinate(allCoordinatesDeserialized[i + 1])));
                i += 2;
            }
            return(new Computer(Name, GetMovesDoneList(), ships, gamingBoard, trackingBoard, sunkShips, hitPoints, allPossibleCoordinates));
        } // end GetDomainComputer
Beispiel #9
0
 public Player GetDomainPlayer(List <Domain.Ships.Ship> ships, GamingBoard gamingBoard, TrackingBoard trackingBoard, List <Domain.Ships.Ship> sunkShips)
 {
     return(new Player(Name, GetMovesDoneList(), ships, gamingBoard, trackingBoard, sunkShips, ships.Sum(c => c.Health)));
 } // end GetDomainPlayer