import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import java.awt.Color;
import javax.swing.ImageIcon;
import java.awt.Font;
import javax.swing.SwingConstants;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Partida extends JFrame{
private Home vpri;
private static Pantalla pantalla;
private Timer timer;
//static boolean superFantasma=false;
/**
* Launch the application.
*//*
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Partida ventana = new Partida(vpri);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
*/
/**
* Create the application.
*/
public Partida() {
//Home h
//vpri=h;
pantalla=new Pantalla();
}
/**
* Initialize the contents of the frame.
*/
public static Pantalla getPantalla(){
return pantalla;
}
public void iniciar() {
timer = new Timer();
TimerTask task = new TimerTask() {
int timeout = 0;
int tiempoFantasmaVerde=0;
int tiempoFantasmaCian=0;
int tiempoFantasmaNaranja=0;
int tiempoFantasmaAmarillo=0;
int tiempoPacman=0;
public void run()
{
/* DIRECCIONES:
* 1 - DERECHA
* 2 - ARRIBA
* 3 - IZQUIERDA
* 4 - ABAJO
*/
try {
if(tiempoPacman==0){
movimientoJugador.controlar(1, pantalla);//CONTROL MOVIMIENTO PACMAN
if(controlarColisionesJugadores.getTransformacion(1)==1)
tiempoPacman = timeout+8000;
}
else{
if(tiempoPacman<timeout){
tiempoPacman=0;
controlarColisionesJugadores.resetTransformacion(1);
pantalla.superFantasma=false;
}
else{
movimientoJugador.controlar(1, pantalla);
}
}
} catch (IOException e) {
e.printStackTrace();
}
if((timeout%20)==0 || timeout==0){//LOS FANTASMAS SE MUEVEN A LA MITAD DE LA VELOCIDAD DEL PACMAN
try {
if(tiempoFantasmaVerde==0){//SI EL TIEMPO FANTASMA ESTA EN 0 PUEDE EMPEZAR A CONTROLAR LOS 2 SEGUNDOS
movimientoJugador.controlar(2, pantalla);
if(controlarColisionesJugadores.getColision(2)==1)
tiempoFantasmaVerde = timeout+2000;
else if(controlarColisionesJugadores.getTransformacion(2)==1)
tiempoFantasmaVerde = timeout+8000;
}
else{
if(tiempoFantasmaVerde<timeout){
tiempoFantasmaVerde=0;
controlarColisionesJugadores.setColision(2);
controlarColisionesJugadores.resetTransformacion(2);
pantalla.superFantasma=false;
}
else{
if(controlarColisionesJugadores.getTransformacion(2)==1)
movimientoJugador.controlar(2, pantalla);
}
}
} catch (IOException e) {
e.printStackTrace();
}
try {//CONTROL MOVIMIENTO Y TIEMPO DE ESPERA DEL FANTASMA CIAN
if(tiempoFantasmaCian==0){//SI EL TIEMPO FANTASMA ESTA EN 0 PUEDE EMPEZAR A CONTROLAR LOS 2 SEGUNDOS
movimientoJugador.controlar(3, pantalla);
if(controlarColisionesJugadores.getColision(3)==1)
tiempoFantasmaCian=timeout+2000;
else if(controlarColisionesJugadores.getTransformacion(3)==1)
tiempoFantasmaCian = timeout+8000;
}
else{
if(tiempoFantasmaCian<timeout){
tiempoFantasmaCian=0;
controlarColisionesJugadores.setColision(3);
controlarColisionesJugadores.resetTransformacion(3);
pantalla.superFantasma=false;
}
else{
if(controlarColisionesJugadores.getTransformacion(3)==1)
movimientoJugador.controlar(3, pantalla);
}
}
} catch (IOException e) {
e.printStackTrace();
}
try {//CONTROL MOVIMIENTO Y TIEMPO DE ESPERA DEL FANTASMA NARANJA
if(tiempoFantasmaNaranja==0){//SI EL TIEMPO FANTASMA ESTA EN 0 PUEDE EMPEZAR A CONTROLAR LOS 2 SEGUNDOS
movimientoJugador.controlar(4, pantalla);
if(controlarColisionesJugadores.getColision(4)==1)
tiempoFantasmaNaranja=timeout + 2000;
else if(controlarColisionesJugadores.getTransformacion(4)==1)
tiempoFantasmaNaranja = timeout+8000;
}
else{
if(tiempoFantasmaNaranja<timeout){
tiempoFantasmaNaranja=0;
controlarColisionesJugadores.setColision(4);
controlarColisionesJugadores.resetTransformacion(4);
pantalla.superFantasma=false;
}
else{
if(controlarColisionesJugadores.getTransformacion(4)==1)
movimientoJugador.controlar(4, pantalla);
}
}
} catch (IOException e) {
e.printStackTrace();
}
try {//CONTROL MOVIMIENTO Y TIEMPO DE ESPERA DEL FANTASMA AMARILLO
if(tiempoFantasmaAmarillo==0){//SI EL TIEMPO FANTASMA ESTA EN 0 PUEDE EMPEZAR A CONTROLAR LOS 2 SEGUNDOS
movimientoJugador.controlar(5, pantalla);
if(controlarColisionesJugadores.getColision(5)==1)
tiempoFantasmaAmarillo=timeout + 2000;
else if(controlarColisionesJugadores.getTransformacion(5)==1)
tiempoFantasmaAmarillo = timeout+8000;
}
else{
if(tiempoFantasmaAmarillo<timeout){
tiempoFantasmaAmarillo=0;
controlarColisionesJugadores.setColision(5);
controlarColisionesJugadores.resetTransformacion(5);
pantalla.superFantasma=false;
}
else{
if(controlarColisionesJugadores.getTransformacion(5)==1)
movimientoJugador.controlar(5, pantalla);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
timeout+=10;
if (timeout >= 60000 || pantalla.comerBolitas(1)==0){
timer.cancel();
try {
ClienteServidor.enviarPuntajes();
} catch (IOException e) {
System.out.println("ERROR: no se pudo enviar el puntaje");
e.printStackTrace();
}
}
}
};
timer.scheduleAtFixedRate(task, 0, 10);//COMIENZA A EJECUTARSE EL TIMER, NO PARA NUNCA
}
}
No hay comentarios:
Publicar un comentario