public class Mapa {
/*CREACION DE LA MATRIZ*/
private int matriz[][];
public Mapa(){
matriz=new int[][]{
/*00*/{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
/*01*/{0,4,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,4,0},
/*02*/{0,3,0,0,3,0,0,0,3,0,3,0,0,0,3,0,0,3,0},
/*03*/{0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0},
/*04*/{0,3,0,0,3,0,3,0,0,0,0,0,3,0,3,0,0,3,0},
/*05*/{0,3,3,3,3,0,3,3,3,0,3,3,3,0,3,3,3,3,0},
/*06*/{0,0,0,0,3,0,0,0,3,0,3,0,0,0,3,0,0,0,0},
/*07*/{0,0,0,0,3,0,3,3,3,3,3,3,3,0,3,0,0,0,0},
/*08*/{0,0,0,0,3,0,3,0,0,0,0,0,3,0,3,0,0,0,0},
/*09*/{2,1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,2},
/*10*/{0,0,0,0,3,0,3,0,0,0,0,0,3,0,3,0,0,0,0},
/*11*/{0,0,0,0,3,0,3,3,3,3,3,3,3,0,3,0,0,0,0},
/*12*/{0,0,0,0,3,0,3,0,0,0,0,0,3,0,3,0,0,0,0},
/*13*/{0,3,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,0},
/*14*/{0,3,0,0,3,0,0,0,3,0,3,0,0,0,3,0,0,3,0},
/*15*/{0,3,3,0,3,3,3,3,3,3,3,3,3,3,3,0,3,3,0},
/*16*/{0,0,3,0,3,0,3,0,0,0,0,0,3,0,3,0,3,0,0},
/*17*/{0,3,3,3,3,0,3,3,3,0,3,3,3,0,3,3,3,3,0},
/*18*/{0,3,0,0,0,0,0,0,3,0,3,0,0,0,0,0,0,3,0},
/*19*/{0,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,0},
/*20*/{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
};
}
public int valor(float x, float y, int dir) {
//****************************************************************************************************
// x%25==0 O y%25==0 ES PARA ASEGURARSE QUE SIEMPRE SE DESPLACE SOBRE UNA LINEA QUE SEA MULTIPLO DE 25 Y EVITAR QUE EL PACMAN SE MUESTRE SOBRE UNA PARED
if(dir==1){//DERECHA
if((y%25)!=0 || getValor((int) (Math.floor(y/25)),(int)(Math.floor(x/25)+1))==0)
return 0;
if((y%25)!=0 || getValor((int) (Math.floor(y/25)),(int)(Math.floor(x/25)+1))==2)
return 2;
}
else if(dir==2){//ARRIBA
if((x%25)!=0 || getValor((int) (Math.floor((y+24)/25)-1),(int)(Math.floor(x/25)))==0)
return 0;
}
else if(dir==3){//IZQUERDA
if((y%25)!=0 || getValor((int) (Math.floor(y/25)),(int)(Math.floor((x+24)/25)-1))==0)
return 0;
if((y%25)!=0 || getValor((int) (Math.floor(y/25)),(int)(Math.floor((x+24)/25)-1))==2)
return 2;
}
else if(dir==4){//ABAJO
if((x%25)!=0 || getValor((int) (Math.floor(y/25)+1),(int)(Math.floor(x/25)))==0)
return 0;
}
return 1;//PUEDO MOVERME, NO HAY OBSTACULOS
}
public int eliminar(int x, int y) {
return 0;
}
public int getValor(int x, int y){
return matriz[x][y];
}
public void setValor(int x, int y, int n){
matriz[x][y]=n;
}
}
No hay comentarios:
Publicar un comentario