ObjetoGrafico.java
1 /**
2 * @author Juan David Marin
3 */
4
5 import java.awt.Graphics;
6 import java.awt.Rectangle;
7 import java.io.Serializable;
8
9 public abstract class ObjetoGrafico implements Serializable{
10 private static final long serialVersionUID = -472085429157372455L;
11 public static final int arriba = 1, abajo = 2, izquierda = 3, derecha = 4;
12 protected int direccion = derecha;
13 private int posX, posY, an, al;
14
15 public ObjetoGrafico(int x, int y, int an, int al){
16 setPosX(x);
17 posY = y;
18 this.an = an;
19
20 this.al = al;
21 }
22
23
24 public abstract void paint(Graphics g);
25
26 public boolean colisiona (ObjetoGrafico otro){
27 if(this == otro)
28 return false;
29 Rectangle r1 = new Rectangle(getPosX(), posY, an, al);
30 Rectangle r2 = new Rectangle(otro.getPosX(), otro.posY, otro.an, otro.al);
31 return r1.intersects(r2);
32
33 }
34
35
36 public int getposX() {
37 return getPosX();
38 }
39 public void setposX (int x){
40 setPosX(x);
41 }
42 public int getposY() {
43 return posY;
44 }
45 public void setposY (int y){
46 posY = y;
47 }
48 public int getancho() {
49 return an;
50 }
51 public void setAncho (int an){
52 this.an = an;
53 }
54 public int getalto() {
55 return al;
56 }
57 public void setalto (int al){
58 this.al = al;
59 }
60
61 public void incX(){
62 setPosX(getPosX() + 10);
63 if(getPosX() > 1300){
64 setPosX(0);
65 }
66 direccion = derecha;
67 }
68
69 public void incY(){
70 posY += 10;
71 if(posY > 900){
72 posY = 880;
73 }
74 direccion = abajo;
75 }
76
77 public void decX(){
78 setPosX(getPosX() - 10);
79 if(getPosX() < 10){
80 setPosX(1300);
81 }
82 direccion = izquierda;
83 }
84 public void decY(){
85 posY -= 10;
86 if(posY < 0){
87 posY = 10;
88 }
89 direccion = arriba;
90 }
91
92
93 public void setPosX(int posX) {
94 this.posX = posX;
95 }
96
97
98 public int getPosX() {
99 return posX;
100 }
101 }
CategoryJava | CategoryProgramacion
