Esempio n. 1
0
        public static bool CheckForHit(string shot, PlayerInfoModel player, PlayerInfoModel opponent)
        {
            bool           output = false;
            GridSpotStatus hit    = GridSpotStatus.Miss;

            (char row, int column) = SplitShotIntoRowColumn(shot);

            foreach (var gridSpot in opponent.ShipLocations)
            {
                if (gridSpot.RowChar == row && gridSpot.ColumnInt == column)
                {
                    hit    = GridSpotStatus.Hit;
                    output = true;
                }
            }
            foreach (var shotSpot in player.ShotGrid)
            {
                if (shotSpot.RowChar == row && shotSpot.ColumnInt == column)
                {
                    shotSpot.Status = hit;
                }
            }

            return(output);
        }
Esempio n. 2
0
        public static bool ValidateSpot(string coordinate, List <CoordinateModel> coordinatesList, GridSpotStatus status)
        {
            bool output = false;

            (char row, int column) = SplitShotIntoRowColumn(coordinate);
            bool isValidCoordinate = ValidateCoordinates(row, column);

            if (isValidCoordinate == true)
            {
                CoordinateModel spot = new CoordinateModel {
                    RowChar   = row,
                    ColumnInt = column,
                    Status    = status
                };

                if (coordinatesList.Contains(spot) == false && status == GridSpotStatus.Ship)
                {
                    coordinatesList.Add(spot);
                    output = true;
                }

                if (coordinatesList.Contains(spot) == true && status == GridSpotStatus.Empty)
                {
                    output = true;
                }
            }

            return(output);
        }