forked from nestorvc/funJava
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunControl.java
More file actions
519 lines (445 loc) · 11.2 KB
/
funControl.java
File metadata and controls
519 lines (445 loc) · 11.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
package fun_v01;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
/**
*
* @author Marvin Gonzalez, Kevin Gutierrez, Néstor Villalobos
*/
public abstract class funControl implements KeyListener{
//*******************************ATRIBUTOS*******************************//
//***********************************************************************//
//***********************************************************************//
private boolean keyW;
private boolean keyA;
private boolean keyS;
private boolean keyD;
private boolean keyIzquierda;
private boolean keyDerecha;
private boolean keyArriba;
private boolean keyAbajo;
private boolean keyEspacio;
private boolean keyEnter;
private boolean key8;
private boolean key4;
private boolean key6;
private boolean key2;
private boolean keyCtrl;
private boolean keyAlt;
private boolean keyShift;
private boolean keyESC;
private boolean keyX;
private boolean keyC;
private funSprite jugador;
private boolean pausaOn;
//******************************CONSTRUCTOR******************************//
//***********************************************************************//
//***********************************************************************//
/**
* El constructor de funControl
* @param jugador El jugador que va a controlar
*/
public funControl(funSprite jugador) {
setKeyW(false);
setKeyA(false);
setKeyS(false);
setKeyD(false);
setKeyIzquierda(false);
setKeyDerecha(false);
setKeyArriba(false);
setKeyAbajo(false);
setKeyEspacio(false);
setKeyEnter(false);
setKey8(false);
setKey4(false);
setKey6(false);
setKey2(false);
setKeyCtrl(false);
setKeyAlt(false);
setKeyShift(false);
setKeyESC(false);
setKeyX(false);
setKeyC(false);
setJugador(jugador);
setPausaOn(false);
}
//*****************************OTROS MÈTODOS*****************************//
//***********************************************************************//
//***********************************************************************//
/**
* Actualiza los estados de los objetos
* Acá se actualiza si las teclas están siendo presionadas o no en los diferentes métodos
*/
public void actualizar(){
getJugador().setVelocidadX(0);
getJugador().setVelocidadY(0);
moverDerecha();
moverIzquierda();
moverArriba();
moverAbajo();
moverSaltar();
presionarPausa();
}
/**
* Revisa si se está presionando la tecla establecida
* Solo se le pueden enviar funKeys validos
* @param tecla El funKey establecido
* @return Si se está presionando o no
*/
public boolean estaPresionando(funKeys tecla){
boolean resp = false;
switch(tecla){
case W: resp = isKeyW(); break;
case A: resp = isKeyA(); break;
case S: resp = isKeyS(); break;
case D: resp = isKeyD(); break;
case IZQUIERDA: resp = isKeyIzquierda(); break;
case DERECHA: resp = isKeyDerecha(); break;
case ARRIBA: resp = isKeyArriba(); break;
case ABAJO: resp = isKeyAbajo(); break;
case ESPACIO: resp = isKeyEspacio(); break;
case ENTER: resp = isKeyEnter(); break;
case K8: resp = isKey8(); break;
case K4: resp = isKey4(); break;
case K6: resp = isKey6(); break;
case K2: resp = isKey2(); break;
case CTRL: resp = isKeyCtrl(); break;
case ALT: resp = isKeyAlt(); break;
case SHIFT: resp = isKeyShift(); break;
case ESC: resp = isKeyESC(); break;
case X: resp = isKeyX(); break;
case C: resp = isKeyC(); break;
}
return resp;
}
/**
* Revisa si no se está tocando alguna tecla
* @return Si se está tocando o no
*/
public boolean estaQuieto(){
if(!isKeyW() &&
!isKeyA() &&
!isKeyS() &&
!isKeyD() &&
!isKeyIzquierda() &&
!isKeyDerecha() &&
!isKeyArriba() &&
!isKeyAbajo() &&
!isKeyEspacio() &&
!isKeyEnter() &&
!isKey8() &&
!isKey4() &&
!isKey6() &&
!isKey2() &&
!isKeyCtrl() &&
!isKeyAlt() &&
!isKeyShift() &&
!isKeyESC() &&
!isKeyX() &&
!isKeyC()) return true;
return false;
}
/**
* Mueve el personaje para la derecha
* @return Si el personaje logró moverse o no
*/
public abstract boolean moverDerecha();
/**
* Mueve el personaje para la izquierda
* @return Si el personaje logró moverse o no
*/
public abstract boolean moverIzquierda();
/**
* Mueve el personaje para abajo
* @return Si el personaje logró moverse o no
*/
public abstract boolean moverAbajo();
/**
* Mueve el personaje para arriba
* @return Si el personaje logró moverse o no
*/
public abstract boolean moverArriba();
/**
* Hace que el personaje salte.
* @return Si el personaje logró moverse o no
*/
public abstract boolean moverSaltar();
/**
* Activa la pausa
*/
public void presionarPausa(){
//TODO
}
@Override
public abstract void keyTyped(KeyEvent ke);
@Override
public abstract void keyPressed(KeyEvent ke);
@Override
public abstract void keyReleased(KeyEvent ke);
//******************************GETS-&-SETS******************************//
//***********************************************************************//
//***********************************************************************//
/**
* @return the keyW
*/
public boolean isKeyW() {
return keyW;
}
/**
* @param keyW the keyW to set
*/
public void setKeyW(boolean keyW) {
this.keyW = keyW;
}
/**
* @return the keyA
*/
public boolean isKeyA() {
return keyA;
}
/**
* @param keyA the keyA to set
*/
public void setKeyA(boolean keyA) {
this.keyA = keyA;
}
/**
* @return the keyS
*/
public boolean isKeyS() {
return keyS;
}
/**
* @param keyS the keyS to set
*/
public void setKeyS(boolean keyS) {
this.keyS = keyS;
}
/**
* @return the keyD
*/
public boolean isKeyD() {
return keyD;
}
/**
* @param keyD the keyD to set
*/
public void setKeyD(boolean keyD) {
this.keyD = keyD;
}
/**
* @return the keyIzquierda
*/
public boolean isKeyIzquierda() {
return keyIzquierda;
}
/**
* @param keyIzquierda the keyIzquierda to set
*/
public void setKeyIzquierda(boolean keyIzquierda) {
this.keyIzquierda = keyIzquierda;
}
/**
* @return the keyDerecha
*/
public boolean isKeyDerecha() {
return keyDerecha;
}
/**
* @param keyDerecha the keyDerecha to set
*/
public void setKeyDerecha(boolean keyDerecha) {
this.keyDerecha = keyDerecha;
}
/**
* @return the keyArriba
*/
public boolean isKeyArriba() {
return keyArriba;
}
/**
* @param keyArriba the keyArriba to set
*/
public void setKeyArriba(boolean keyArriba) {
this.keyArriba = keyArriba;
}
/**
* @return the keyAbajo
*/
public boolean isKeyAbajo() {
return keyAbajo;
}
/**
* @param keyAbajo the keyAbajo to set
*/
public void setKeyAbajo(boolean keyAbajo) {
this.keyAbajo = keyAbajo;
}
/**
* @return the keyEspacio
*/
public boolean isKeyEspacio() {
return keyEspacio;
}
/**
* @param keyEspacio the keyEspacio to set
*/
public void setKeyEspacio(boolean keyEspacio) {
this.keyEspacio = keyEspacio;
}
/**
* @return the keyEnter
*/
public boolean isKeyEnter() {
return keyEnter;
}
/**
* @param keyEnter the keyEnter to set
*/
public void setKeyEnter(boolean keyEnter) {
this.keyEnter = keyEnter;
}
/**
* @return the key8
*/
public boolean isKey8() {
return key8;
}
/**
* @param key8 the key8 to set
*/
public void setKey8(boolean key8) {
this.key8 = key8;
}
/**
* @return the key4
*/
public boolean isKey4() {
return key4;
}
/**
* @param key4 the key4 to set
*/
public void setKey4(boolean key4) {
this.key4 = key4;
}
/**
* @return the key6
*/
public boolean isKey6() {
return key6;
}
/**
* @param key6 the key6 to set
*/
public void setKey6(boolean key6) {
this.key6 = key6;
}
/**
* @return the key2
*/
public boolean isKey2() {
return key2;
}
/**
* @param key2 the key2 to set
*/
public void setKey2(boolean key2) {
this.key2 = key2;
}
/**
* @return the keyCtrl
*/
public boolean isKeyCtrl() {
return keyCtrl;
}
/**
* @param keyCtrl the keyCtrl to set
*/
public void setKeyCtrl(boolean keyCtrl) {
this.keyCtrl = keyCtrl;
}
/**
* @return the keyAlt
*/
public boolean isKeyAlt() {
return keyAlt;
}
/**
* @param keyAlt the keyAlt to set
*/
public void setKeyAlt(boolean keyAlt) {
this.keyAlt = keyAlt;
}
/**
* @return the keyShift
*/
public boolean isKeyShift() {
return keyShift;
}
/**
* @param keyShift the keyShift to set
*/
public void setKeyShift(boolean keyShift) {
this.keyShift = keyShift;
}
/**
* @return the ESC
*/
public boolean isKeyESC() {
return keyESC;
}
/**
* @param ESC the ESC to set
*/
public void setKeyESC(boolean keyESC) {
this.keyESC = keyESC;
}
/**
* @return the X
*/
public boolean isKeyX() {
return keyX;
}
/**
* @param X the X to set
*/
public void setKeyX(boolean keyX) {
this.keyX = keyX;
}
/**
* @return the C
*/
public boolean isKeyC() {
return keyC;
}
/**
* @param C the C to set
*/
public void setKeyC(boolean keyC) {
this.keyC = keyC;
}
/**
* @return the jugador
*/
public funSprite getJugador() {
return jugador;
}
/**
* @param jugador the jugador to set
*/
public void setJugador(funSprite jugador) {
this.jugador = jugador;
}
/**
* @return the pausaOn
*/
public boolean isPausaOn() {
return pausaOn;
}
/**
* @param pausaOn the pausaOn to set
*/
public void setPausaOn(boolean pausaOn) {
this.pausaOn = pausaOn;
}
}