private bool IsValidAction(Ship ship) { if (LostShipsCoordinates .Any(x => x.Orientation == ship.Orientation && x.CoordinateX == ship.CoordinateX && x.CoordinateY == ship.CoordinateY)) { return(false); } return(true); }
private void EmitShipLocation(Ship ship) { if (LostShipsCoordinates.Any(x => x.Id == ship.Id)) { LostShipDto lostShip = LostShipsCoordinates.First(x => x.Id == ship.Id); Console.WriteLine($"{lostShip.CoordinateY} {lostShip.CoordinateX} {lostShip.Orientation} {Lost}"); } else { Console.WriteLine($"{ship.CoordinateY} {ship.CoordinateX} {ship.Orientation}"); } }
private void CheckShipPosition(Ship ship) { if (ship.CoordinateY > GridY || ship.CoordinateY < 0 || ship.CoordinateX > GridX || ship.CoordinateX < 0) { LostShipsCoordinates .Add(new LostShipDto { Id = ship.Id, Orientation = ship.Orientation, CoordinateX = ship.CoordinateX > GridX ? ship.CoordinateX - 1 : ship.CoordinateX <0 ? 0 : ship.CoordinateX, CoordinateY = ship.CoordinateY> GridY ? ship.CoordinateY - 1 : ship.CoordinateY < 0 ? 0 : ship.CoordinateY, }); } }