public Player(string playerName, int boardHeight, int boardWidth) { Name = playerName; Ships = new List <Ship>(); GameBoard = new GameBoard(boardHeight, boardWidth); FiringBoard = new FiringBoard(boardHeight, boardWidth); }
private Coordinates RandomShot() { var availablePanels = FiringBoard.GetOpenRandomPanels(); Random rand = new Random(Guid.NewGuid().GetHashCode()); var panelIdx = rand.Next(availablePanels.Count); return(availablePanels[panelIdx]); }
private Coordinates SearchingShot() { Random rand = new Random(Guid.NewGuid().GetHashCode()); var hitNeighbours = FiringBoard.GetHitNeighbours(); var neighbourIdx = rand.Next(hitNeighbours.Count); return(hitNeighbours[neighbourIdx]); }
public Coordinates FireShot() { var hitNeighbours = FiringBoard.GetHitNeighbours(); Coordinates coords; if (hitNeighbours.Any()) { coords = SearchingShot(); } else { coords = RandomShot(); } return(coords); }