Código:
package mover;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class mover extends fondo implements KeyListener {
static int x = 100;
static int y = 400;
static int vidas = 3,nivel=0,puntos=0;
public static JPanel panel;
public static mover mover;
public static int x1 = 0, x2 = 0, x3 = 470, x4=470,y1 = 240, y2 = 360, y3 = 280,y4=320;
public static int t1=0,t2=470,t3=0,t4=470,l1=40,l2=80,l3=120,l4=160;
public mover() {
// sonido = Applet.newAudioClip(getClass().getResource("salto.wav"));
JFrame ventana = new JFrame();
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBackground(Color.white);
ventana.add(this);
ventana.setVisible(true);
ventana.setSize(417, 469);
ventana.addKeyListener(this);
test();
}
private void test() {
while(true) {
try {
repaint();
Thread.sleep(15);
} catch(Exception e) {
System.out.println("Hubo un error wey");
}
}
}
public void paintComponent(Graphics papel) {
ImageIcon miImagen = new ImageIcon("sapo.gif");
ImageIcon dead = new ImageIcon("sapo_muerto.png");
ImageIcon carro1 = new ImageIcon("carro.gif");
ImageIcon carro2 = new ImageIcon("carro2.gif");
ImageIcon tronco = new ImageIcon("tronco.jpg");
fondo fondo1 = new fondo();
fondo1.dibujar(papel);
tronco.paintIcon(this, papel, t1++, l1);
tronco.paintIcon(this, papel, t2--, l2);
tronco.paintIcon(this, papel, t3++, l3);
tronco.paintIcon(this, papel, t4--, l4);
carro1.paintIcon(this, papel, x1=x1+5, y1);
carro2.paintIcon(this, papel, x3=x3-4, y3);
carro2.paintIcon(this, papel, x4=x4-2, y4);
carro1.paintIcon(this, papel, x2++, y2);
miImagen.paintIcon(this, papel, x, y);
super.paintComponents(papel);
if(x1>=470)
{
x1=-10;
}
if(x2>=470)
{
x2=-10;
}
if(x3<=-10)
{
x3=480;
}
if(x4<=-10)
{
x4=480;
}
if(t1>=470)
{
t1=-10;
t3=-10;
}
if(t2<=-10)
{
t2=480;
t4=480;
}
if(y==y2&&x==x2)
{
y=400;
vidas--;
JOptionPane.showMessageDialog(null,
"LA RANA HA SIDO APLASTADA AHORA TIENES " + vidas + " VIDAS");
}
if(y==y4&&x==x4)
{
y=400;
vidas--;
JOptionPane.showMessageDialog(null,
"LA RANA HA SIDO APLASTADA AHORA TIENES " + vidas + " VIDAS");
}
if(y==y3&&x==x3)
{
y=400;
vidas--;
JOptionPane.showMessageDialog(null,
"LA RANA SE HA SIDO APLASTADA AHORA TIENES " + vidas + " VIDAS");
}
if(y==y1&&x==x1)
{
y=400;
vidas--;
JOptionPane.showMessageDialog(null,
"LA RANA HA SIDO APLASTADA AHORA TIENES " + vidas + " VIDAS");
}
if(y==l4&&x==t4)
{
miImagen.paintIcon(this, papel, x--, y);
}
if(y==l3&&x==t3)
{
miImagen.paintIcon(this, papel, x++, y);
}
if(y==l2&&x==t2)
{
miImagen.paintIcon(this, papel, x--, y);
}
if(y==l1&&x==t1)
{
miImagen.paintIcon(this, papel, x++, y);
}
}
public static void main(String[] args) {
mover = new mover();
//carro = new hilo();
//carro.start();
}
public void keyPressed(KeyEvent e) {
if (KeyEvent.getKeyText(e.getKeyCode()).equals("Izquierda")) {
x -= 40;
puntos=puntos+20;
} else if (KeyEvent.getKeyText(e.getKeyCode()).equals("Derecha")) {
x += 40;
puntos=puntos+20;
}
else if (KeyEvent.getKeyText(e.getKeyCode()).equals("Arriba")) {
y -= 40;
puntos=puntos+100;
}
else if (KeyEvent.getKeyText(e.getKeyCode()).equals("Abajo")) {
y += 40;
puntos=puntos+20;
}
// CONTROLA EL ESTADO GANADOR
if (vidas == 0) {
JOptionPane.showMessageDialog(null, "GAME OVER cantidad de puntos"+puntos);
System.exit(0);// cierra la ventana
}
if(y>=400)
{
y=400;
}
if(x<=0)
{
x=0;
}
if(x>=360)
{
x=360;
}
// si llega ala meta
if (y <= -15) {
y = 400;
nivel++;
JOptionPane.showMessageDialog(null, "HAS CRUSADO EL NIVEL: "+nivel);
if(nivel==5)
{
JOptionPane.showMessageDialog(null, "HAS TERMINADO EL JUEGO FELIZIDADES!!! total de puntos: "+puntos);
System.exit(0);
}
}
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
}
}


