Пример #1
0
  public void shootAt(Position position) {
    if (!positionIsShootableAt(position)) {
      throw GameException.CreateAlreadyShotAt();
    }

    shots2DMap[position.getY()][position.getX()] = true;
    Ship ship = getShipAtPosition(position);

    shots.add(position);

    if (ship != null) {
      ship.hit();
      messageQueue.addHitMessage(position, ship);
    } else {
      messageQueue.addMissMessage(position);
    }
  }