miércoles, 25 de noviembre de 2015

Clase ClientePacman

package pacman;
//PIDE LA CONEXION--------------------------------------
import java.awt.EventQueue;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class ClientePacman extends JFrame implements Runnable {

private JFrame frame;
private Socket socket ;
private static DataOutputStream salidadato ;
private DataInputStream entradaDatos;
//private String ip ="127.0.0.1";
//private int puerto = 1234;
private Thread hilo ;
private Pantalla pantalla = new Pantalla();

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
//ClientePacman frame = new ClientePacman();
} catch (Exception e) {
System.out.println("ErrorMainPrincipal");
e.printStackTrace();
}
}
});
}

   ClientePacman(Socket s,DataOutputStream out, DataInputStream in){

        socket = s; //new Socket(ip, puerto);
        salidadato = out; //new DataOutputStream(socket.getOutputStream());
        entradaDatos = in; //new DataInputStream(socket.getInputStream());
       

   hilo = new Thread(this);
   hilo.start();
 
   pantalla.pantallaVisible();


}


static void salidaDato(String output){

try {
salidadato.writeUTF(output);
} catch (IOException e) {
System.out.println("ERROR: no se pudo enviar la tacla presionada");
e.printStackTrace();
   }
}

@Override
public void run() {

String mensaje;
       boolean conectado = true;
       while (conectado) {
           try {
               mensaje = entradaDatos.readUTF();
               String [] vec = mensaje.split(" ");
               if(vec.length==2){
                pantalla.setTextPuntaje(vec[1]);
                pantalla.setTextGameOver(vec[0]);
                break;
               }
               else if(vec.length==3){
                pantalla.eliminarSBolaCliente(Integer.parseInt(vec[0]),Integer.parseInt(vec[1]));
               }
               else{
               
                int nroCliente= Integer.parseInt(vec[0]);
                int direccion= Integer.parseInt(vec[1]);
                int posX= Integer.parseInt(vec[2]);
                int posY= Integer.parseInt(vec[3]);
                int transformacion=Integer.parseInt(vec[4]);
                if(transformacion==1)
                pantalla.superFantasma=true;
                else
                pantalla.superFantasma=false;
               
       
                if(nroCliente==1)
                pantalla.pacmanVisible();
                else if(nroCliente==2){
                pantalla.fantasmaVerdeVisible();
                pantalla.sacarLabelEspera();
                }
                else if(nroCliente==3){
                pantalla.fantasmaCianVisible();
                pantalla.sacarLabelEspera();
                }
                else if(nroCliente==4){
                pantalla.fantasmaNaranjaVisible();
                pantalla.sacarLabelEspera();
                }
                else if(nroCliente==5){
                pantalla.fantasmaAmarilloVisible();
                pantalla.sacarLabelEspera();
                }
           
                pantalla.setLabelLocation(posX, posY, nroCliente);
               
                if(pantalla.comerBolitas(nroCliente)==0){
                pantalla.setTextGameOverVisible();
          }
               
                if(nroCliente==1){
                if(direccion==1)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Pacman Gif/Pacman Derecha"+transformacion+".gif"), nroCliente);
                else if(direccion==2)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Pacman Gif/Pacman Arriba"+transformacion+".gif"), nroCliente);
                else if(direccion==3)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Pacman Gif/Pacman Izquierda"+transformacion+".gif"), nroCliente);
                else
                pantalla.setIconLabel(new ImageIcon("Imagenes/Pacman Gif/Pacman Abajo"+transformacion+".gif"), nroCliente);
                }
                else if(nroCliente==2){
                if(direccion==1)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Verde/Fantasma Verde Derecha"+transformacion+".gif"), nroCliente);
                else if(direccion==2)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Verde/Fantasma Verde Arriba"+transformacion+".gif"), nroCliente);
                else if(direccion==3)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Verde/Fantasma Verde Izquierda"+transformacion+".gif"), nroCliente);
                else
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Verde/Fantasma Verde Abajo"+transformacion+".gif"), nroCliente);
                }
                else if(nroCliente==3){
                if(direccion==1)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Cian/Fantasma Cian Derecha"+transformacion+".gif"), nroCliente);
                else if(direccion==2)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Cian/Fantasma Cian Arriba"+transformacion+".gif"), nroCliente);
                else if(direccion==3)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Cian/Fantasma Cian Izquierda"+transformacion+".gif"), nroCliente);
                else
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Cian/Fantasma Cian Abajo"+transformacion+".gif"), nroCliente);
                }
                else if(nroCliente==4){
                if(direccion==1)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Naranja/Fantasma Naranja Derecha"+transformacion+".gif"), nroCliente);
                else if(direccion==2)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Naranja/Fantasma Naranja Arriba"+transformacion+".gif"), nroCliente);
                else if(direccion==3)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Naranja/Fantasma Naranja Izquierda"+transformacion+".gif"), nroCliente);
                else
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Naranja/Fantasma Naranja Abajo"+transformacion+".gif"), nroCliente);
                }
                else if(nroCliente==5){
                if(direccion==1)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Amarillo/Fantasma Amarillo Derecha"+transformacion+".gif"), nroCliente);
                else if(direccion==2)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Amarillo/Fantasma Amarillo Arriba"+transformacion+".gif"), nroCliente);
                else if(direccion==3)
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Amarillo/Fantasma Amarillo Izquierda"+transformacion+".gif"), nroCliente);
                else
                pantalla.setIconLabel(new ImageIcon("Imagenes/Fantasmas/Amarillo/Fantasma Amarillo Abajo"+transformacion+".gif"), nroCliente);
                }
               }
             
             
             
           } catch (IOException ex) {
            System.out.println("Error al leer del stream de entrada: " + ex.getMessage());
               conectado = false;
           } catch (NullPointerException ex) {
            System.out.println("El socket no se creo correctamente. ");
               conectado = false;
           }
       }

}




}

No hay comentarios:

Publicar un comentario