public void finePartita() { // TODO // FUNZIONE di fine gioco -> termina il gioco scrivendo in output il // vincitore OutputMediator.println("FINE PARTITA!"); Giocatore vincitore = gestore.getVincitore(); OutputMediator.println( "Il VINCITORE E': " + vincitore.getNome() + " CON " + vincitore.getCrediti() + " CREDITI E " + vincitore.getAnniAccademici() + " ANNI ACCADEMICI!"); }
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); }
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); }
protected void controllaCasella(Giocatore corrente) { Casella c = tdg.getCasella(corrente.getPos().getX(), corrente.getPos().getY()); // Si fa partite la funzione action della casella corrente c.action(corrente); }