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); }
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); }