Depredador1.java

   1 /**
   2  * Depredador1.java
   3  * 
   4  * @author Luis Alejandro Bernal Romero
   5  * 
   6  * Un pequeño juego en el que el jugador maneja con el  teclado un circulo verde, que es 
   7  * la presa; el un cuadrado rojo, el depredador, lo persigue hasta darle caza. El archivo 
   8  * debe estar en la raíz del directorio de trabajo. 
   9  */
  10 
  11 import motorJuegos1.*;
  12 import java.awt.*;
  13 import java.awt.event.*;
  14 
  15 class Presa extends ObjetoMovil{
  16 
  17         public Presa(int x, int y) {
  18                 super(x, y);
  19         }
  20         
  21         public void paint(Graphics g){
  22                 g.setColor(Color.green);
  23                 g.fillOval(obtX(), obtY(), 50, 50);
  24         }
  25 }
  26 
  27 class Depredador extends ObjetoMovil implements Runnable{
  28         private ObjetoMovil presa;
  29         private Frame marco;
  30         
  31         public Depredador(int x, int y, ObjetoMovil p, Frame m) {
  32                 super(x, y);
  33                 presa = p;
  34                 marco = m;
  35         }
  36 
  37         public void paint(Graphics g) {
  38                 g.setColor(Color.red);
  39                 g.fillRect(obtX(), obtY(), 60, 60);
  40         }
  41 
  42         public void run() {
  43                 for(;;){
  44                         int x = obtX();
  45                         if(presa.obtX() - x > 0){
  46                                 modX(x + 10);
  47                         }
  48                         else{
  49                                 modX(x - 10);
  50                         }
  51                         int y = obtY();
  52                         if(presa.obtY() - y > 0){
  53                                 modY(y + 10);
  54                         }
  55                         else{
  56                                 modY(y - 10);
  57                         }
  58                         marco.repaint();
  59                         try{ Thread.sleep(200); } catch (Exception e) {}
  60                 }
  61         }
  62 }
  63 
  64 class EscuchaTeclasPresa implements KeyListener{
  65         ObjetoMovil presa;
  66         private Frame marco;
  67         
  68         public EscuchaTeclasPresa(Frame l, ObjetoMovil p) {
  69                 marco = l;
  70                 presa = p;
  71         }
  72         
  73         public void keyPressed(KeyEvent e) {
  74                 int tecla = e.getKeyCode();
  75                 switch (tecla) {
  76                 case KeyEvent.VK_UP:{
  77                                 int y = presa.obtY();
  78                                 y -= 10;
  79                                 if(y < 0){
  80                                         y = marco.getHeight();
  81                                 }
  82                                 presa.modY(y);
  83                                 marco.repaint();
  84                 }
  85                 break;
  86                 case KeyEvent.VK_DOWN:{
  87                         int y = presa.obtY();
  88                         y += 10;
  89                         if(y > marco.getHeight()){
  90                                 y = 0;
  91                         }
  92                         presa.modY(y);
  93                         marco.repaint();
  94                 }
  95                 break;
  96                 case KeyEvent.VK_LEFT:{
  97                         int x = presa.obtX();
  98                         x -=10;
  99                         if(x < 0){
 100                                 x = marco.getWidth();
 101                         }
 102                         presa.modX(x);
 103                         marco.repaint();
 104                 }
 105                 break;
 106                 case KeyEvent.VK_RIGHT:{
 107                         int x = presa.obtX();
 108                         x += 10;
 109                         if(x > marco.getWidth()){
 110                                 x = 0;
 111                         }
 112                         presa.modX(x);
 113                         marco.repaint();
 114                 }
 115                 break;
 116                 }
 117         }
 118 
 119         public void keyReleased(KeyEvent e) {}
 120 
 121         public void keyTyped(KeyEvent e) {}
 122         
 123 }
 124 
 125 public class Depredador1 {
 126 
 127         public static void main(String[] args) {
 128                 MotorJuegos motor = new MotorJuegos("Prueba motor grafico");
 129                 Presa presa = new Presa(10, 50);
 130                 motor.add(presa);
 131                 Depredador depredador = new Depredador(480, 460, presa, motor);
 132                 motor.add(depredador);
 133                 Thread h = new Thread(depredador);
 134                 h.start();
 135                 EscuchaTeclas escucha = new EscuchaTeclas(motor, presa);
 136                 motor.addKeyListener(escucha);
 137                 motor.setSize(480, 640);
 138                 motor.setVisible(true);
 139         }
 140         
 141 }

CategoryJava | CategoryProgramacion

Java/Programas/MotorJuegos/Depredador1.java (last edited 2008-04-20 14:40:20 by localhost)