//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