CanonCliente.java
Categorías: CategoryJava | CategoryProgramacion |
1 package savetheearthsk;
2
3 import java.awt.Graphics;
4
5 /**
6 * @author Luisa Fernanda Rueda Herrera
7 * @author George Sebastian Parra Macias
8 * la clase canon sirve para guardar un arreglo de canones en diferente pocion (izguierda, derecha, centro)
9 */
10 public class CanonCliente extends ObjetoGrafico {
11
12 /**
13 * Atributos enteros (constantes) de izquierda, centro, derecha, que designan la direccion de la calaveragg
14 */
15 private static final int izquierda = 0, centro = 1, derecha = 2;
16 /**
17 * Arreglo de tipo ObjetoGrafico que guarda las tres pociciones del canon
18 */
19 private ObjetoGrafico[] canones;
20 /**
21 * Atributo privado de tipo Entero (int) cambiar ladireccion de la calaveragg
22 */
23 private int direccion; // 0 izq, 1 aarriba, 2 der
24
25 /**
26 * Constructora de canon
27 * @param x guarda la pocicion en el eje x de la calaveragg
28 * @param y guarda la pocicion en el eje y de la calaveragg
29 * @param alto guarda la medida de la altura de la calaveragg
30 * @param ancho guarda la medida del ancho de la calaveragg
31 */
32 public CanonCliente(int x, int y, int ancho, int alto) {
33 /**
34 * Atributos heredados de la superclase ObjetoGrafico que nos da la pocicion, el alto y el ancho de la calaveragg
35 */
36 super(x, y, ancho, alto);
37 /**
38 * arreglo de ObjetoGrafico de tres pociciones
39 */
40 canones = new ObjetoGrafico[3];
41 /**
42 * asignacion de la primera pocicion del arreglo a Canon0
43 */
44 canones[0] = new Canon0(x, y, ancho, alto);
45 /**
46 * asignacion de la segunda pocicion del arreglo a Canon1
47 */
48 canones[1] = new Canon1(x, y, ancho, alto);
49 /**
50 * asignacion de la tercera pocicion del arreglo a Canon2
51 */
52 canones[2] = new Canon2(x, y, ancho, alto);
53 /**
54 * asigna un valor a la variable direccion
55 */
56 direccion = 1;
57 }
58
59 @Override
60 /**
61 * metodo grafico para dibujar lo canones
62 */
63 public void paint(Graphics g) {
64 canones[direccion].paint(g);
65 }
66
67 /**
68 * metodo para obtener la direccion
69 * @param direccion
70 */
71 public void setDireccion(int direccion) {
72 this.direccion = direccion;
73 }
74
75 /**
76 * metodo para devolver la direcion o el valor de la direcion
77 * @return direcion
78 */
79 public int getDireccion() {
80 return direccion;
81 }
82
83 /**
84 * metodo para incrementar la pocicion en X del canon
85 * @param dx
86 */
87 public void incX(int dx) {
88 x += dx;
89 for (int i = 0; i < canones.length; i++) {
90 canones[i].incX(dx);
91 }
92 }
93
94 /**
95 * metodo para decrementar la pocicion en X del canon
96 * @param dx
97 */
98 public void decX(int dx) {
99 x -= dx;
100 for (int i = 0; i < canones.length; i++) {
101 canones[i].decX(dx);
102 }
103 }
104
105 /**
106 * metodo para incrementar la pocicion en Y del canon
107 * @param dy
108 */
109 public void incY(int dy) {
110 y += dy;
111 for (int i = 0; i < canones.length; i++) {
112 canones[i].incY(dy);
113 }
114 }
115
116 @Override
117 /**
118 * metodo para decrementar la pocicion en Y del canon
119 * @param dy
120 */
121 public void decY(int dy) {
122 y -= dy;
123 for (int i = 0; i < canones.length; i++) {
124 canones[i].incY(dy);
125 }
126 }
127
128 /**
129 * cambia el valor de la direccion a la izguierda
130 */
131 public void irIzquierda() {
132 direccion = izquierda;
133 }
134
135 /**
136 * cambia el valor de la direccion a la derecha
137 */
138 public void irDerecha() {
139 direccion = derecha;
140 }
141
142 /**
143 * cambia el valor de la direccion al centro
144 */
145 public void irCentro() {
146 direccion = centro;
147 }
148
149 @Override
150 public void setX(int x) {
151 super.setX(x);
152 for (int i = 0; i < canones.length; i++) {
153 canones[i].setX(x);
154 }
155 }
156
157 @Override
158 public void setY(int y) {
159 super.setY(y);
160 for (int i = 0; i < canones.length; i++) {
161 canones[i].setY(y);
162
163 }
164 }
165
166 }
