CaidaLibre.java
Categorías: CategoryJava | CategoryProgramacion |
1 import java.awt.*;
2 import java.awt.event.KeyEvent;
3 import java.awt.event.KeyListener;
4
5
6 class Pacman{
7 private int posX,posY;
8 public Pacman(int x, int y){
9 posX=x;
10 posY=y;
11 }
12 public void paint (Graphics g){
13
14 g.setColor(Color.WHITE);
15 g.drawRect(0,0,1010,700);
16 g.drawRect(1,1,1010,700);
17 g.drawRect(2,2,1010,700);
18
19 if(posX<=982){
20 if(posX<-20){
21 g.setColor(Color.YELLOW);
22 g.fillOval(posX+982,posY,30,30);
23 g.setColor(Color.BLACK);
24 g.fillArc(posX+982, posY, 30, 30, 325, 65);
25 }
26 g.setColor(Color.YELLOW);
27 g.fillOval(posX,posY,30,30);
28 g.setColor(Color.BLACK);
29 g.fillArc(posX, posY, 30, 30, 325, 65);
30 }
31 else{
32 g.setColor(Color.YELLOW);
33 g.fillOval(posX-982,posY,30,30);
34 g.setColor(Color.BLACK);
35 g.fillArc(posX-982, posY, 30, 30, 325, 65);
36 }
37
38 if(posY<=680){
39 if(posY<-2){
40 g.setColor(Color.YELLOW);
41 g.fillOval(posX,posY+680,30,30);
42 g.setColor(Color.BLACK);
43 g.fillArc(posX, posY+680, 30, 30, 325, 65);
44 }
45 g.setColor(Color.YELLOW);
46 g.fillOval(posX,posY,30,30);
47 g.setColor(Color.BLACK);
48 g.fillArc(posX, posY, 30, 30, 325, 65);
49 }
50 else{
51 g.setColor(Color.YELLOW);
52 g.fillOval(posX,posY-680,30,30);
53 g.setColor(Color.BLACK);
54 g.fillArc(posX, posY-680, 30, 30, 325, 65);
55 }
56
57
58 }
59 public void incX(){
60 posX+=10;
61 }
62 public void incY(){
63 posY+=10;
64 }
65 public void decX(){
66 posX-=10;
67 }
68 public void decY(){
69 posY-=10;
70 }
71 }
72
73 class Lienzo extends Canvas{
74 private Pacman pacman;
75 public Lienzo (final Pacman p){
76 pacman=p;
77 }
78 public void paint(Graphics g){
79 pacman.paint(g);
80 }
81 }
82 class EscucharTeclas implements KeyListener {
83 private Pacman pacman;
84 private Lienzo lienzo;
85 public EscucharTeclas(Pacman p, Lienzo l){
86 pacman=p;
87 lienzo=l;
88 }
89
90 public void keyPressed(KeyEvent e) {
91 int tecla=e.getKeyCode();
92 switch(tecla){
93 case KeyEvent.VK_RIGHT:
94 pacman.incX();
95 lienzo.repaint();
96 break;
97 case KeyEvent.VK_LEFT:
98 pacman.decX();
99 lienzo.repaint();
100 break;
101 case KeyEvent.VK_UP:
102 pacman.decY();
103 lienzo.repaint();
104 break;
105 case KeyEvent.VK_DOWN:
106 pacman.incY();
107 lienzo.repaint();
108 break;
109 }
110 }
111
112 public void keyReleased(KeyEvent e) {
113 // TODO Auto-generated method stub
114 }
115 public void keyTyped(KeyEvent e) {
116 // TODO Auto-generated method stub
117 }
118 }
119
120 public class JuegoPacman {
121 public static void main (String[]args){
122 Frame marco=new Frame ("Pacman Game");
123 Pacman pacman=new Pacman(10,10);
124 Lienzo lienzo=new Lienzo(pacman);
125 EscucharTeclas escucha=new EscucharTeclas(pacman,lienzo);
126 marco.add(lienzo);
127 marco.addKeyListener(escucha);
128 marco.setSize(1050,800);
129 marco.setBackground(Color.BLACK);
130 marco.setVisible(true);
131 }
132 }
