KernelPanic ha scritto:
un po' sinceramente mi sono perso...
ho modificato il lancio in questo modo
public int lancioTruccato() {
int valore = 0;
for(int i=0; i < super.facce;i++) {
valore++;
}
return valore;
}
No, non ha alcun senso quello che hai scritto.
Lo ripeto ancora per l'ultima (speriamo..) volta: DadoTruccato deve dare una numerazione sequenziale e ripetitiva, stando a quanto hai detto. Se ci sono es. 4 facce, 1 2 3 4 1 2 3 4 1 2 ..... giusto?
Bene, ad ogni invocazione del SUO lancia() (quello in
override!) devi passare da un valore al successivo, salvo poi rifare il giro da 1 ovviamente quando sei arrivato al massimo.
Questo vuol dire che per farlo devi MANTENERE all'interno dell'oggetto un valore, quello ultimo estratto o il prossimo da estrarre (a seconda di come si ragiona). E in sostanza vuol dire che devi mettere una
variabile di istanza es.
private int valore;
In modo che il valore sia nell'oggetto (e non una banale variabile locale!). NON c'è nulla di strano nel fatto che gli oggetti DadoTruccato abbiano una variabile di istanza in più rispetto agli oggetti Dado !!
KernelPanic ha scritto:
poi non saprei come farlo ripartire in caso il valore superasse le facce
Ripensa a questo alla luce di quanto ti ho appena detto.
KernelPanic ha scritto:
probabilmente sto annegando in un bicchier d'acqua...
La tazzona del latte, non un bicchiere ....