Esempio n. 1
0
  /**
   * Avvia il turno
   *
   * @return True se i cancelli sono finiti e il round che ha avviato il turno deve diventare
   *     l'ultimo round
   * @throws FinishGame
   */
  public boolean playTurn() throws FinishGame {
    moveBlackSheep();
    // questo controllo serve per poter utilizzare i test senza connessioni(nel caso di Test non
    // esistono i Client connessi)
    if (connectionManager != null) {
      connectionManager.startAction();
    }

    // Alla fine delle azioni del player crescono gli animali
    growUpLambs();

    if (game.getFenceNumber() <= 0) {
      forceLastRound = true;
    }

    return forceLastRound;
  }
Esempio n. 2
0
  /**
   * gestisce il movimento pecora nera. È protected e non private poichè lo devo chiamare per far
   * fare il test su di lui
   *
   * @return true se la BlackSheep è stata mossa
   */
  protected boolean moveBlackSheep() {
    BlackSheep blackSheep = game.getBlacksheep();
    int diceNumber = dice.getRandom();

    try {
      Road road = blackSheep.hasToMove(diceNumber);
      blackSheep.move(road);

      if (connectionManager != null) {
        connectionManager.refreshMoveAnimal(-1, blackSheep.getPosition().getID());
      }

      return true;
    } catch (WrongDiceNumberException ex) {
      Logger.getLogger(DebugLogger.class.getName())
          .log(DebugLogger.getLevel(), ex.getMessage(), ex);
      return false;
    }
  }
Esempio n. 3
0
 /**
  * Method che fa crescere tutti gli agnelli di 1 turno e se ne trova uno abbastanza grande lo fa
  * diventare pecora o montone
  */
 protected void growUpLambs() {
   // è protected per poterlo testare
   for (Sheep ele : game.getSheeps()) {
     // se è un lamb lo faccio crescere
     if (ele.isLamb()) {
       ele.growUpOneTurn();
       // se non è più lamb allora è cresciuto
       if (!ele.isLamb()) {
         String kind;
         if (ele.isRam()) {
           kind = TypeAnimal.RAM.toString();
         } else {
           kind = TypeAnimal.WHITE_SHEEP.toString();
         }
         connectionManager.refreshTransformAnimal(ele.getId(), kind);
       }
     }
   }
 }