Ho un problema...Gioco dell'oca
ho una matrice di n per m (che rappresenta il campo da gioco)di oggetti di tipo casella nella quale vi è segnato un percorso,che un giocatore deve seguire
ad esempio:
EEEEE la E rappresenta casella vuota che non fa parte del
EBEEE percorso,la S rappresenta l'inizio la e la 1 un punto cosi
ET1GE come 2 che rappresenta 2 punti.....una volta che arrivo
EEE2E alla fine,se non raggiungo la casella T con un tiro preciso,
ES1BE cambio direzione e torno indietro fino all'altro capo...
EEEEE
Le caselle coi punti sono istanze della classe Piece,mentre le caselle E,G,B,S,T sono sottoclassi di questa classe..
Ora vi chiedo,partendo dalla casella S verso destra e seguendo il percorso,come faccio a seguir il percorso? Io ho fatto questo codice ma non funziona del tutto,nel momento in cui becco degli angoli nel percorso...
°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
public void move(int toss){ //toss è il valore del lancio di un dado
String direction;
int cont;
int n_row = position[0];
int n_col = position[1];
for(int i=1;i<=toss;i++){
cont = 0;
right = false;
left = false;
up = false;
down = false;
if(!(board[n_row][n_col+1] instanceof EmptyPiece)){
cont++;
if(direction.equals("right")){
//non fare niente
}
else{
position[0] = n_row;
position[1] = n_col+1;
direction = "left";
}
}
if(!(board[n_row-1][n_col] instanceof EmptyPiece)){
cont++;
if(direction.equals("up")){
//non fare niente
}
else{
position[0] = n_row-1;
position[1] = n_col;
direction = "down";
}
}
if(!(board[n_row][n_col-1] instanceof EmptyPiece)){
cont++;
if(direction.equals("left")){
//non fare niente
}
else{
position[0] = n_row;
position[1] = n_col-1;
direction = "right";
}
}
if(!(board[n_row+1][n_col] instanceof EmptyPiece)){
cont++;
if(direction.equals("down")){
//non fare niente
}
else{
position[0] = n_row+1;
position[1] = n_col;
direction = "up";
}
}
if(cont==1){
if(direction.equals("left"))
direction = "right";
if(direction.equals("right"))
direction = "left";
if(direction.equals("up"))
direction = "down";
if(direction.equals("down"))
direction = "left";
}
}
}
********************************|
se avete bisogno di altre spiegazioni scrivete....vi ringrazio in anticipo x l'aiuto
Spero possiate aiutarmi perchè è una cosa importante.....