miércoles, 25 de noviembre de 2015

Clase Pantalla

package pacman;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.IOException;

public class Pantalla extends JFrame{
private static JFrame frame;
private Map<String,JLabel> bolas=new HashMap<String,JLabel>();
private Map<String,JLabel> sbolas=new HashMap<String,JLabel>();
private int puntaje=0;
private int cantBolitas=171;
private JLabel Tpuntaje,labelPacman,labelFantasmaVerde, labelFantasmaCian, labelFantasmaNaranja, labelFantasmaAmarillo;
private JLabel GameOver ;
private static JLabel labelEspera;
private Mapa mapa;
private Direccion dir;
static boolean superFantasma=false;

public Pantalla(){

frame = new JFrame();
frame.getContentPane().setBackground(Color.BLACK);
//***********************
//PACMAN
labelPacman = new JLabel("New label");
labelPacman.setIcon(new ImageIcon("Imagenes/Pacman Gif/Pacman Derecha.gif"));
labelPacman.setForeground(Color.RED);
labelPacman.setBounds(225, 375, 25, 25);
labelPacman.setVisible(false);
frame.getContentPane().add(labelPacman);

//FANTASMA VERDE
labelFantasmaVerde = new JLabel("New label");
labelFantasmaVerde.setIcon(new ImageIcon("Imagenes/Fantasmas/Verde/Fantasma Verde Derecha.gif"));
labelFantasmaVerde.setBounds(175, 225, 25, 25);
labelFantasmaVerde.setVisible(false);
frame.getContentPane().add(labelFantasmaVerde);

//FANTASMA CIAN
labelFantasmaCian = new JLabel("New label");
labelFantasmaCian.setIcon(new ImageIcon("Imagenes/Fantasmas/Cian/Fantasma Cian Derecha.gif"));
labelFantasmaCian.setBounds(201, 225, 25, 25);
labelFantasmaCian.setVisible(false);
frame.getContentPane().add(labelFantasmaCian);

//FANTASMA NARANJA
labelFantasmaNaranja = new JLabel("New label");
labelFantasmaNaranja.setIcon(new ImageIcon("Imagenes/Fantasmas/Naranja/Fantasma Naranja Derecha.gif"));
labelFantasmaNaranja.setBounds(227, 225, 25, 25);
labelFantasmaNaranja.setVisible(false);
frame.getContentPane().add(labelFantasmaNaranja);

//FANTASMA AMARILLO
labelFantasmaAmarillo = new JLabel("New label");
labelFantasmaAmarillo.setIcon(new ImageIcon("Imagenes/Fantasmas/Amarillo/Fantasma Amarillo Derecha.gif"));
labelFantasmaAmarillo.setBounds(254, 225, 25, 25);
labelFantasmaAmarillo.setVisible(false);
frame.getContentPane().add(labelFantasmaAmarillo);

//***************************************
Tpuntaje = new JLabel("");
Tpuntaje.setFont(new Font("Tahoma", Font.BOLD, 16));
Tpuntaje.setForeground(Color.WHITE);
Tpuntaje.setBounds(100, 536, 150, 31);
frame.getContentPane().add(Tpuntaje);

GameOver = new JLabel("GANASTE !");
GameOver.setFont(new Font("Tahoma", Font.PLAIN, 18));
GameOver.setHorizontalAlignment(SwingConstants.CENTER);
GameOver.setBackground(Color.WHITE);
GameOver.setForeground(Color.RED);
GameOver.setBounds(153, 180, 168, 116);
frame.getContentPane().add(GameOver);
GameOver.setVisible(false);

frame.setBounds(100, 100, 499, 617);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().setLayout(null);

mapa = new Mapa();

labelEspera = new JLabel("New label");
labelEspera.setIcon(new ImageIcon("Imagenes/Mapa/Imagen Espera.gif"));
labelEspera.setBounds(125, 129, 225, 225);
frame.getContentPane().add(labelEspera);

iniciarBolas();//CREA TODAS LAS BOLAS DE LA PANTALLA

//LOS MAPAS TIENENE Q IR ABAJO DE TODO
JLabel labelMapa = new JLabel("New label");
labelMapa.setIcon(new ImageIcon("Imagenes/Mapa/Mapa Inicio nuevo/Mapa.gif"));
labelMapa.setBounds(0, 0, 475, 525);
frame.getContentPane().add(labelMapa);

JLabel labelPuntaje = new JLabel("PUNTAJE");
labelPuntaje.setHorizontalAlignment(SwingConstants.LEFT);
labelPuntaje.setFont(new Font("Tahoma", Font.BOLD, 16));
labelPuntaje.setForeground(Color.WHITE);
labelPuntaje.setBounds(4, 536, 80, 31);
frame.getContentPane().add(labelPuntaje);

    JButton btnNewButton = new JButton("Salir");
    btnNewButton.addKeyListener(new KeyAdapter() {
    @Override
    public void keyPressed(KeyEvent arg0) {
    if(arg0.getKeyCode()==KeyEvent.VK_RIGHT){ //PACMAN A LA DERECHA
ClientePacman.salidaDato("1");
}

if(arg0.getKeyCode()==KeyEvent.VK_LEFT){//PACMAN A LA IZQUIERDA
ClientePacman.salidaDato("3");
}

if(arg0.getKeyCode()==KeyEvent.VK_UP){//PACMAN A ARRIBA
ClientePacman.salidaDato("2");
}

if(arg0.getKeyCode()==KeyEvent.VK_DOWN){//PACMAN A ABAJO
ClientePacman.salidaDato("4");
}

  /* DIRECCIONES:
    * 1 - DERECHA
    * 2 - ARRIBA
    * 3 - IZQUIERDA
    * 4 - ABAJO
    */
    }
    });
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();
}
});
btnNewButton.setBounds(385, 544, 86, 23);
frame.getContentPane().add(btnNewButton);


}

public void setearDirrecion(int dir, int nroCliente){//RECIVO EL NUMERO DE CLIENTE Y SETEO LA DIRECCION A LA QUE QUIERE IR
Direccion.setDir(dir, nroCliente);
}

public int comerBolitas(int nroCli){
if(cantBolitas>=0){
JLabel aux2,aux3;
String aux;
int i=getLabelX(nroCli)/25;
int j=getLabelY(nroCli)/25;
aux=""+"0"+j+"0"+i;
aux2=sbolas.get(aux);
if(nroCli==1){
aux3=bolas.get(aux);
if(aux3!=null){
aux3.setVisible(false);
bolas.remove(aux);
mapa.setValor(j,i,1);
puntaje=50;
ClienteServidor.setPuntaje(1,puntaje);
cantBolitas--;
}
}
}
return cantBolitas;
}

public void comerSuperBolitas(int nroCli) throws IOException {
JLabel aux2;
String aux;
int i=getLabelX(nroCli)/25;
int j=getLabelY(nroCli)/25;
aux=""+"0"+j+"0"+i;
aux2=sbolas.get(aux);

if( aux2!=null){
if(superFantasma==false){
aux2.setVisible(false);
sbolas.remove(aux);
mapa.setValor(j,i, 1);
puntaje=100;
controlarColisionesJugadores.setTransformacion(nroCli);
superFantasma=true;
ClienteServidor.setPuntaje(nroCli,puntaje);
ClienteServidor.eliminarSuperBola(j, i, 1);
cantBolitas--;
}
}
}

public void iniciarBolas() {
for(int i=1;i<20;i++){
for(int j=1;j<19;j++){
if(mapa.getValor(i,j)==4){
String aux=""+"0"+i+"0"+j;
sbolas.put(aux,crearLabelSuperBola(i,j));
}
if(mapa.getValor(i,j)==3){
String aux=""+"0"+i+"0"+j;
bolas.put(aux,crearLabelBolita(i,j));
}
}
}

}
public JLabel crearLabelBolita(int x, int y){
JLabel bolita = new JLabel("New label");
bolita.setIcon(new ImageIcon("Imagenes/Bola.png"));
bolita.setBounds(y*25,x*25, 25, 25);
frame.getContentPane().add(bolita);
return bolita;
}
public JLabel crearLabelSuperBola(int x, int y){
JLabel superBola = new JLabel("New label");
superBola.setIcon(new ImageIcon("Imagenes/Pacman Gif/pelota/06.png"));
superBola.setBounds(y*25,x*25, 25, 25);
frame.getContentPane().add(superBola);
return superBola;
}
public int getValorMapa(int x,int y,int direccion){
return mapa.valor(x, y, direccion);
}

public int getValorMapa(int x,int y){
return mapa.getValor(x, y);
}

public int getLabelX(int cliente){
if(cliente==1)
return labelPacman.getLocation().x;
else if(cliente==2)
return labelFantasmaVerde.getLocation().x;
else if(cliente==3)
return labelFantasmaCian.getLocation().x;
else if(cliente==4)
return labelFantasmaNaranja.getLocation().x;
else
return labelFantasmaAmarillo.getLocation().x;
}

public int getLabelY(int cliente){
if(cliente==1)
return labelPacman.getLocation().y;
else if(cliente==2)
return labelFantasmaVerde.getLocation().y;
else if(cliente==3)
return labelFantasmaCian.getLocation().y;
else if(cliente==4)
return labelFantasmaNaranja.getLocation().y;
else
return labelFantasmaAmarillo.getLocation().y;
}

public void setLabelLocation(int x, int y, int cliente){
if(cliente==1)
labelPacman.setLocation(x, y);
else if(cliente==2)
labelFantasmaVerde.setLocation(x, y);
else if(cliente==3)
labelFantasmaCian.setLocation(x, y);
else if(cliente==4)
labelFantasmaNaranja.setLocation(x, y);
else
labelFantasmaAmarillo.setLocation(x, y);
}

public void setIconLabel(ImageIcon img, int cliente){
if(cliente==1)
labelPacman.setIcon(img);
else if(cliente==2)
labelFantasmaVerde.setIcon(img);
else if(cliente==3)
labelFantasmaCian.setIcon(img);
else if(cliente==4)
labelFantasmaNaranja.setIcon(img);
else
labelFantasmaAmarillo.setIcon(img);
}

public void setTextPuntaje(String txt){
Tpuntaje.setText(txt);
Tpuntaje.setVisible(true);
}
public void setTextGameOver(String txt){
GameOver.setText(txt);
GameOver.setVisible(true);
}
public void setTextGameOverVisible(){
GameOver.setVisible(true);
}

public static void sacarLabelEspera() {
labelEspera.setVisible(false);
}

public void pacmanVisible() {
labelPacman.setVisible(true);

}

public void fantasmaVerdeVisible() {
labelFantasmaVerde.setVisible(true);
labelFantasmaVerde.setLocation(200,175);
}

public void fantasmaCianVisible() {
labelFantasmaCian.setVisible(true);
labelFantasmaCian.setLocation(275,175);
}

public void fantasmaNaranjaVisible() {
labelFantasmaNaranja.setVisible(true);
labelFantasmaNaranja.setLocation(200,275);
}

public void fantasmaAmarilloVisible() {
labelFantasmaAmarillo.setVisible(true);
labelFantasmaAmarillo.setLocation(275,275);
}

public void pantallaVisible() {
frame.setVisible(true);
}

public void eliminarSBolaCliente(int j, int i) {
JLabel aux2;
String aux;
aux=""+"0"+j+"0"+i;
aux2=sbolas.get(aux);
aux2.setVisible(false);
sbolas.remove(aux);
mapa.setValor(j,i, 1);
}

}

No hay comentarios:

Publicar un comentario