Esempio n. 1
0
 public Player(string playerName, int boardHeight, int boardWidth)
 {
     Name        = playerName;
     Ships       = new List <Ship>();
     GameBoard   = new GameBoard(boardHeight, boardWidth);
     FiringBoard = new FiringBoard(boardHeight, boardWidth);
 }
Esempio n. 2
0
        private Coordinates RandomShot()
        {
            var    availablePanels = FiringBoard.GetOpenRandomPanels();
            Random rand            = new Random(Guid.NewGuid().GetHashCode());
            var    panelIdx        = rand.Next(availablePanels.Count);

            return(availablePanels[panelIdx]);
        }
Esempio n. 3
0
        private Coordinates SearchingShot()
        {
            Random rand          = new Random(Guid.NewGuid().GetHashCode());
            var    hitNeighbours = FiringBoard.GetHitNeighbours();
            var    neighbourIdx  = rand.Next(hitNeighbours.Count);

            return(hitNeighbours[neighbourIdx]);
        }
Esempio n. 4
0
        public Coordinates FireShot()
        {
            var         hitNeighbours = FiringBoard.GetHitNeighbours();
            Coordinates coords;

            if (hitNeighbours.Any())
            {
                coords = SearchingShot();
            }
            else
            {
                coords = RandomShot();
            }
            return(coords);
        }