Beispiel #1
0
        public async Task <ShotInformation> Shot(string coordinates)
        {
            _coordinatesValidator.ValidateParsedCoordinates(coordinates);
            var shotCoordinates = new Coordinates(coordinates);
            var battle          = await _battleRepository.GetBattle();

            var shotInformation = battle.Shot(shotCoordinates);
            await _battleRepository.UpdateBattle(battle);

            return(shotInformation);
        }
        public IEnumerable <ShipCoordinates> Parse(string coordinates)
        {
            var shipsCoordinates = coordinates.Split(',').Where(x => !string.IsNullOrWhiteSpace(x));

            foreach (var shipCoordinates in shipsCoordinates)
            {
                var parsedCoordinatesOfShip = shipCoordinates.Split(' ')
                                              .Where(x => !string.IsNullOrWhiteSpace(x))
                                              .ToList();
                _coordinatesValidator.ValidateParsedCoordinates(parsedCoordinatesOfShip);
                yield return(CreateShipCoordinates(parsedCoordinatesOfShip));
            }
        }