-
Notifications
You must be signed in to change notification settings - Fork 0
/
Motor.pde
146 lines (116 loc) · 4.34 KB
/
Motor.pde
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
// ===================
// LLIBRERIES
// ===================
// Sons
import processing.sound.*;
// ===================
// VARIABLES GLOBALS
// ===================
// Navegació: 'carregaInicial', 'inici', 'configuracioAplicacio', 'jugar', 'joc', 'sortida', 'error'.
String mode;
// Definim esperes d'algunes pantalles (en milisegons)
int espera_carregaInicial = 11000;
int espera_sortida = 5000;
// Definim el temporitzador per poder resetejar i trobar el temps
int startTime = millis();
int currentTime = 0;
// Si s'ha de fer un reset
boolean temp_reset = false;
// Variable per guardar el valor de la posició del ratolí arrastrant la pantalla
int dragged;
// Definim les variables del guerrer i enemics
int vida_guerrer;
int vida_guerrer_actual;
int vida_enemic_min = 60;
int vida_enemic_max = 200;
// Creem els primers enemics (En la configuració del joc es creen més, sinó així per defecte, per no generar error d'arrays)
Enemy[] enemies = new Enemy[4];
// Estadístiques
int last_time = 0;
int temps_record = 0;
int enemics_matats_record = 0;
int enemics_matats = 0;
// ===================
// CARREGAR IMATGES I SONS
// ===================
// Variable true/false control botons
boolean musica_volum, sons_volum = true;
// Definim la direcció per poder canviar-ho fàcilment
String images_src = "Media/Imatges/";
String sons_src = "Media/Sons/";
// Definir els fitxers de so
SoundFile intro_bg_music_1, intro_bg_music_2, btn_click, joc_bg_music_1, joc_martell_anvil, joc_martell_movement;
// Definir les imatges
// carregaInicial
PImage carregaInicial_bg;
// inici
PImage inici_bg;
// jugar
PImage jugar_bg;
// joc
PImage joc_bg_1, joc_tree, joc_regal_1, joc_regal_2, joc_regal_3;
// Per animar els personatges creem array de totes les imatges.
// Definim els frames (coincideixen amb número fotos)
// Definim frame actual per saber quin ha de ser el seguent.
int sprite_1_frames = 5;
int sprite_1_frame_actual = 1;
PImage [] sprite_1 = new PImage[sprite_1_frames];
int sprite_2_frames = 10;
int sprite_2_frame_actual = 1;
PImage [] sprite_2 = new PImage[sprite_2_frames];
// configuracioAplicacio
PImage configuracioAplicacio_bg;
// sortida
PImage sortida_bg;
// ===================
// TEXTS I BOTONS
// ===================
// Definir tots els botons del joc amb variables per poder modificar-los
crearBoto btn_inici_jugar, btn_inici_configuracioAplicacio, btn_inici_sortida;
crearBoto btn_configuracioAplicacio_musica_1, btn_configuracioAplicacio_musica_2, btn_configuracioAplicacio_imatge1, btn_configuracioAplicacio_imatge2, btn_configuracioAplicacio_inici;
crearBoto btn_jugar_joc, btn_jugar_dificultat_1, btn_jugar_dificultat_2, btn_jugar_musica, btn_jugar_sons, btn_jugar_inici;
crearBoto btn_joc_reiniciar, btn_joc_atacar;
// Definir tots els texts del joc també amb variables.
crearText text_carregaInicial_felicitacio, text_carregaInicial_imatge;
crearText text_inici_titol, text_inici_descripcio, text_inici_records;
crearText text_configuracioAplicacio_titol, text_configuracioAplicacio_musica, text_configuracioAplicacio_imatge, text_configuracioAplicacio_credits;
crearText text_jugar_titol;
crearText text_joc_temporitzador, text_joc_enemics_matats, text_joc_enemics_matats_record, text_joc_temps_record;
crearText text_sortida_felicitacio;
// ===================
// SETUP
// ===================
// Funció executada únicament una vegada al començar l'aplicació
void setup() {
// Tamany x, y de l'aplicació
size(1200, 800);
frameRate(60);
// El mode per defecte de l'aplicació
mode = "carregaInicial";
// Per no carregar de coses, la funció fa load d'altres coses fora d'aquí
loadAssets();
}
// ===================
// DRAW
// ===================
// Funció executada en bucle per anar dibuixant i actualitzant tot el programa en cada instant
void draw() {
// Fem sonar el que toca
sons();
// Detectem en quin estat es troba el joc per tal d'executar la funció que toca.
if (mode == "carregaInicial") {
carregaInicial();
} else if (mode == "inici") {
inici();
} else if (mode == "configuracioAplicacio") {
configuracioAplicacio();
} else if (mode == "jugar") {
jugar();
} else if (mode == "joc") {
joc();
} else if (mode == "sortida") {
sortida();
} else {
error();
}
}