Come ti ha già suggerito Andrea nei post precedenti: devi cercare di rivedere la situazione in modo che sia l'interfaccia a richiamare i metodi della parte logica.
Di conseguenza, rivedere quel metodo, ad esempio in questo modo:
A questo punto la parte grafica farà qualcosa del genere:codice:private String motivazione; // Qui avrò l'eventuale motivazione del perchè non è giocabile ... public boolean isGiocabile(Giocatore gioc) { boolean ret = true; if (proprietario == null) { if (gioc.getDenaro() <= costo) { motivazione = "Non hai abbastanza soldi"; ret = false; } } else { if (getProprietario() == gioc.getName()) { motivazione = "Ti trovi su un tuo terreno"; ret = false; } } return ret; } public String getMotivazione() { return motivazione; } public void gioca(Giocatore gioc) { if (proprietario == null) { gioc.acquistaProp(this, costo); } else { pagaProprietario(gioc); } }
Ciao.codice:if ( tuoGioco.isGiocabile( tuoGiocatore ) ) { tuoGioco.gioca( tuoGiocatore ); } else { tuaTextArea.append( tuoGioco.getMotivazione() ); }![]()



Rispondi quotando