EscuchaMouse.java
Categorías: CategoryJava | CategoryProgramacion |
1 /*
2 * To change this template, choose Tools | Templates
3 * and open the template in the editor.
4 */
5 package savetheearthsk;
6
7 import java.awt.event.MouseEvent;
8 import java.awt.event.MouseListener;
9 import java.util.ArrayList;
10
11 /**
12 *Esta clase permite asignar procesos a la activacion del mouse en tiempo de ejecucion
13 *@author Luisa Fernanda Rueda Herrera
14 *@author George Sebastian Parra Macias
15 */
16 public class EscuchaMouse implements MouseListener {
17
18 private boolean caminarb = false;
19 /**
20 * Atributo privado de tipo Lienzo que recibe el lienzo desde el Main
21 */
22 private Lienzo lienzo;
23 /**
24 * Atributo privado de tipo Pared (constante) que guarda un arreglo de Pared
25 */
26 private static Pared[] paredes;
27 /**
28 * Atributo privado de tipo Pared que guarda un arreglo de Pared
29 */
30 private Pared[] pared;
31 /**
32 * Atributo privado de tipo Puntaje que guarda el puntaje
33 */
34 private Puntaje puntaje;
35 /**
36 * Atributo privado que guarda un arreglo de tipo Pared que funciona como Pared sur
37 */
38 private Pared[] paredes1;
39 /**
40 * Atributo privado que guarda un arreglo de tipo Pared que funciona como Pared izquierda
41 */
42 private Pared[] paredes2;
43 /**
44 * Atributo privado que guarda un arreglo de tipo Pared que funciona como Pared derecha
45 */
46 private Pared[] paredes3;
47 /**
48 * Atributo privado que guarda la calaveragg1 que se dispara
49 */
50 private Calaveragg1 calaveragg1;
51 /**
52 * Atributo privado que contiene el arreglo de calaveras (objetivos)
53 */
54 private ArrayList<Calaveragg1> calaveras;
55 /**
56 * Atributo privado que guarda el areglo de cañones
57 */
58 private Canon canon;
59 /**
60 * Atributo de tipo configuracion que recibe la configuracion
61 */
62 private Configuracion configuracion;
63 /**
64 * Atributo de tipo EscuchaMoverMouse que interactua con la clase para hacer funcionar el mouse
65 */
66 private EscuchaMoverMouse escuchaMoverMouse;
67 /**
68 * Constructor de EscuchaMouse que recibe los parametros que corresponden a los atributos privados
69 * @param l
70 * @param pared
71 * @param paredes1
72 * @param paredes2
73 * @param paredes3
74 * @param calaveras
75 * @param puntaje
76 * @param canon
77 * @param calaveragg1
78 * @param config
79 * @param escuchaMoverMouse
80 */
81 public EscuchaMouse(Lienzo l, Pared[] pared, Pared[] paredes1, Pared[] paredes2, Pared[] paredes3, ArrayList<Calaveragg1> calaveras, Puntaje puntaje, Canon canon, Calaveragg1 calaveragg1, Configuracion config, EscuchaMoverMouse escuchaMoverMouse) {
82 lienzo = l;
83 this.puntaje = puntaje;
84 this.pared = pared;
85 this.paredes1 = paredes1;
86 this.paredes2 = paredes2;
87 this.paredes3 = paredes3;
88 this.calaveras = calaveras;
89 this.canon = canon;
90 this.calaveragg1 = calaveragg1;
91 this.configuracion = config;
92 this.escuchaMoverMouse = escuchaMoverMouse;
93 }
94 /**
95 * Metodo al dar click
96 * @param e recibe un MouseEvent
97 */
98 public void mouseClicked(MouseEvent e) {
99 }
100 /**
101 * Metodo al mantener presionado el mouse
102 * @param e recibe un MouseEvent
103 */
104 public void mousePressed(MouseEvent e) {
105 if (configuracion.mouse == false) {
106 switch (canon.getDireccion()) {
107 case 1:
108 this.calaveragg1 = new Calaveragg1(canon.x + 12, canon.y - 65, 70, 70, Constantes.colores[(int) (Math.random() * 3)], paredes, paredes1, paredes2, paredes3, lienzo, calaveras, puntaje, configuracion);
109 calaveragg1.irCentro();
110 escuchaMoverMouse.setCalavera(calaveragg1);
111
112 break;
113 case 0:
114 this.calaveragg1 = new Calaveragg1(canon.x - 50, canon.y - 30, 70, 70, Constantes.colores[(int) (Math.random() * 3)], paredes, paredes1, paredes2, paredes3, lienzo, calaveras, puntaje, configuracion);
115 calaveragg1.irIzquierda();
116 escuchaMoverMouse.setCalavera(calaveragg1);
117 break;
118 case 2:
119 this.calaveragg1 = new Calaveragg1(canon.x + 90, canon.y - 20, 70, 70, Constantes.colores[(int) (Math.random() * 3)], paredes, paredes1, paredes2, paredes3, lienzo, calaveras, puntaje, configuracion);
120 calaveragg1.irDerecha();
121 escuchaMoverMouse.setCalavera(calaveragg1);
122 break;
123 }
124
125 calaveras.add(calaveragg1);
126 lienzo.add(calaveragg1);
127 lienzo.repaint();
128 }
129 }
130 /**
131 * Metodo al soltar el mouse
132 * @param e Recibe un MouseEvent
133 */
134 public void mouseReleased(MouseEvent e) {
135 if (configuracion.mouse == false) {
136 Thread hiloCalaveragg1 = new Thread(calaveragg1);
137 if (calaveragg1 == null) {
138 } else {
139 hiloCalaveragg1.start();
140
141 }
142
143 lienzo.repaint();
144 caminarb = false;
145 }
146 }
147
148 public void mouseEntered(MouseEvent e) {
149
150
151
152 }
153
154 public void mouseExited(MouseEvent e) {
155
156
157 }
158 }
