Example #1
0
  protected void updatePosizioneGiocatore(Giocatore g) {

    if (g.getRisultatoDado() >= tdg.getTavola()[0].length - g.getPos().getY())
      g.getPos().setX((g.getPos().getX() + 1) % tdg.getTavola().length);

    g.getPos().setY((g.getPos().getY() + g.getRisultatoDado()) % tdg.getTavola()[0].length);

    // questo cambiamento nel gestore fa scattare l'evento di movimento pedina
    gestore.getGiocatori().set(g.getOrdineDiPartenza(), g);
  }
Example #2
0
  public void turnoSuccessivo(int lancioCorrente) {
    Giocatore corrente = gestore.next();
    int anniAccademiciPrecedentiAlTurno = corrente.getAnniAccademici();
    OutputMediator.println(
        corrente.getNome() + " lancia i dadi : " + corrente.lancia(lancioCorrente));

    // Dopo che il giocatore lancia i dadi la sua posizione viene aggiornata
    // e vengono attivati gli effetti della casella dove si verrĂ  a
    // posizionare
    updatePosizioneGiocatore(corrente);

    if (corrente.getAnniAccademici() > anniAccademiciPrecedentiAlTurno) {
      System.out.println(
          "il giocatore " + corrente.getOrdineDiPartenza() + " ha " + corrente.getAnniAccademici());
      setChanged();
      notifyObservers(new Stato(corrente, 5));
    }
    controllaCasella(corrente);
  }