Ciao!
Ci sono un po' di errori intanto :
Non ti entrerà mai qui dentro se hai messo l' operatore logico && (a meno che dim=0 o 1) immagino tu indendessi scrivere || .
Poi attenzione a cosa fai qui:
Questa istruzione non costruisce una Casella di tipo CasellaTornaAllaPartenza , stai solo assegnando l'ultima casella che trovi di quel tipo a un campo della classe Tabellone (quindi nel tuo caso la casella a tre quarti del tabellone).
Mentre tu vuoi creare una casella di tipo diverso a seconda della posizione, quindi dovresti fare qualcosa del tipo:
Se CasellaTornaAllaPartenza l'hai specificata come sotto classe di Casella non dovresti avere problemi con questa istruzione.codice:for(int pos=0;pos<dim;pos++) { if(pos==0||pos==dim-1) caselle[pos]=new CasellaStandard(/* Paramerti */); else if(pos==(int)dim/4||pos==(int)dim/2||pos==(int)(dim*3)/4)caselle[pos]=new CasellaTornaAllaPartenza(/* Parametri */); else caselle[pos]=new Casella(/* Parametri */); }
Se il tuo Tabellone ha dimensione fissa, una volta creato, non vedo il motivo di usare un ArrayList...


Rispondi quotando