Depredador1.java
1
2
3
4
5
6
7
8
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)