import java.io.IOException;
import javax.swing.ImageIcon;
public class movimientoJugador {
static int dirDerecha=1;
static int dirArriba=2;
static int dirIzquierda=3;
static int dirAbajo=4;
public static void controlar(int clieJugador, Pantalla pantalla) throws IOException {
controlarColisionesJugadores.interseccionPacmanConFantasma(pantalla);
pantalla.comerBolitas(clieJugador);
pantalla.comerSuperBolitas(clieJugador);
if(clieJugador!=1)
controlarColisionesJugadores.interseccionFantasmaConFantasma(pantalla);
if(Direccion.getDir(clieJugador)==dirArriba){//QUIERO IR ARRIBA
if(Direccion.getActualDir(clieJugador)==dirDerecha || Direccion.getActualDir(clieJugador)==dirIzquierda){ //SI ESTA ACTUALMENTE LLENDO A LA DERECHA O A LA IZQUIERDA
if(pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirArriba)!=0){ //SI EN ESTA POSICION PUEDO SUBIR
Direccion.setActualDir(dirArriba,clieJugador);//SUBIR
}
}
if(Direccion.getActualDir(clieJugador)==dirAbajo){ //SI ESTA LLENDO PARA ABAJO, ACTUALIZA LAS DIRECCIONES PARA QUE SE MUEVA HACIA ABAJO
Direccion.setActualDir(dirArriba,clieJugador);
Direccion.setDir(dirArriba,clieJugador);
}
}
else if(Direccion.getDir(clieJugador)==dirAbajo){//QUIERO IR ABAJO
if(Direccion.getActualDir(clieJugador)==dirDerecha || Direccion.getActualDir(clieJugador)==dirIzquierda){ //SI ESTA ACTUALMENTE LLENDO A LA DERECHA O A LA IZQUIERDA
if(pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirAbajo)!=0){ //SI EN ESTA POSICION PUEDO BAJAR
Direccion.setActualDir(dirAbajo,clieJugador);//BAJAR
}
}
if(Direccion.getActualDir(clieJugador)==dirArriba){//SI ESTA LLENDO PARA ARRIBA, ACTUALIZA LAS DIRECCIONES PARA QUE SE MUEVA HACIA ARRIBA
Direccion.setActualDir(dirAbajo,clieJugador);
Direccion.setDir(dirAbajo,clieJugador);
}
}
else if(Direccion.getDir(clieJugador)==dirDerecha){//QUIERO IR A LA DERECHA
if(Direccion.getActualDir(clieJugador)==dirArriba || Direccion.getActualDir(clieJugador)==dirAbajo){ //SI ESTA ACTUALMENTE LLENDO ARRIBA O ABAJO
if(pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirDerecha)!=0){ //SI EN ESTA POSICION PUEDE IR A LA DERECHA
Direccion.setActualDir(dirDerecha,clieJugador);//DERECHA
}
}
if(Direccion.getActualDir(clieJugador)==dirIzquierda){//SI ESTA LLENDO PARA LA IZQUIERDA, ACTUALIZA LAS DIRECCIONES PARA QUE SE MUEVA HACIA LA DERECHA
Direccion.setActualDir(dirDerecha,clieJugador);
Direccion.setDir(dirDerecha,clieJugador);
}
}
else if(Direccion.getDir(clieJugador)==dirIzquierda){//QUIERO IR A LA IZQUIERDA
if(Direccion.getActualDir(clieJugador)==dirArriba || Direccion.getActualDir(clieJugador)==dirAbajo){ //SI ESTA ACTUALMENTE LLENDO ARRIBA O ABAJO
if(pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirIzquierda)!=0){ //SI EN ESTA POSICION PUEDE IR A LA IZQUIERDA
Direccion.setActualDir(dirIzquierda,clieJugador);//IZQUIERDA
}
}
if(Direccion.getActualDir(clieJugador)==dirDerecha){//SI ESTA LLENDO PARA LA DERECHA, ACTUALIZA LAS DIRECCIONES PARA QUE SE MUEVA HACIA LA IZQUIERDA
Direccion.setActualDir(dirIzquierda,clieJugador);
Direccion.setDir(dirIzquierda,clieJugador);
}
}
int valor;
if(Direccion.getActualDir(clieJugador)==dirDerecha){ //PERSONAJE A LA DERECHA
valor=pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirDerecha);
if(valor==0){
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),clieJugador);//SE QUEDA QUIETO POR QUE HAY UNA PARED
}
else if(valor ==2){
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador)-425, pantalla.getLabelY(clieJugador),clieJugador);//SE TRANSPORTA AL LADO IZQUIERDO DEL MAPA
ClienteServidor.envioDeMovimiento(clieJugador,dirDerecha,pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),controlarColisionesJugadores.getTransformacion(clieJugador));//ENVIO Numero de Cliente, hacia donde se mueve, y las posiciones X e Y
}
else{
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador)+1, pantalla.getLabelY(clieJugador),clieJugador);//SE PUEDE MOVER
ClienteServidor.envioDeMovimiento(clieJugador,dirDerecha,pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),controlarColisionesJugadores.getTransformacion(clieJugador));//ENVIO Numero de Cliente, hacia donde se mueve, y las posiciones X e Y
}
}
else if(Direccion.getActualDir(clieJugador)==dirIzquierda){//PERSONAJE A LA IZQUIERDA
valor=pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirIzquierda);
if(valor==0){
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),clieJugador);//SE QUEDA QUIETO POR QUE HAY UNA PARED
}
else if(valor ==2){
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador)+425, pantalla.getLabelY(clieJugador),clieJugador);//SE TRANSPORTA AL LADO DERECHO DEL MAPA
ClienteServidor.envioDeMovimiento(clieJugador,dirIzquierda,pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),controlarColisionesJugadores.getTransformacion(clieJugador));//ENVIO Numero de Cliente, hacia donde se mueve, y las posiciones X e Y
}
else{
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador)-1, pantalla.getLabelY(clieJugador),clieJugador);//SE PUEDE MOVER
ClienteServidor.envioDeMovimiento(clieJugador,dirIzquierda,pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),controlarColisionesJugadores.getTransformacion(clieJugador));//ENVIO Numero de Cliente, hacia donde se mueve, y las posiciones X e Y
}
}
else if(Direccion.getActualDir(clieJugador)==dirArriba){//PERSONAJE ARRIBA
valor=pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirArriba);
if(valor==0){
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),clieJugador);//SE QUEDA QUIETO POR QUE HAY UNA PARED
}
else{
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador)-1,clieJugador);//SE PUEDE MOVER
ClienteServidor.envioDeMovimiento(clieJugador,dirArriba,pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),controlarColisionesJugadores.getTransformacion(clieJugador));//ENVIO Numero de Cliente, hacia donde se mueve, y las posiciones X e Y
}
}
else if(Direccion.getActualDir(clieJugador)==dirAbajo){//PERSONAJE ABAJO
valor=pantalla.getValorMapa(pantalla.getLabelX(clieJugador),pantalla.getLabelY(clieJugador), dirAbajo);
if(valor==0){
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),clieJugador);//SE QUEDA QUIETO POR QUE HAY UNA PARED
}
else{
pantalla.setLabelLocation(pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador)+1,clieJugador);//SE PUEDE MOVER
ClienteServidor.envioDeMovimiento(clieJugador,dirAbajo,pantalla.getLabelX(clieJugador), pantalla.getLabelY(clieJugador),controlarColisionesJugadores.getTransformacion(clieJugador));//ENVIO Numero de Cliente, hacia donde se mueve, y las posiciones X e Y
}
}
}
}
No hay comentarios:
Publicar un comentario