|
Difficulty compiling on Windows |
mayna azevedo
Member #20,077
May 2021
|
Hello everybody. I have a game in C with the allegro library, and it compiles perfectly on Linux. However, I'm not so lucky on Windows. I use the following command line in the Windows terminal: gcc Dino_Pescocudo.c Dino_Pescocudo -lallegro -lallegro_font -lallegro_ttf -lallegro_image -lallegro_primitives -lallegro_audio -lallegro_acodec And it's gives the following error (attached) Here's the code: 2#include <stdio.h>
3#include <stdlib.h>
4#include <allegro5/allegro5.h>
5#include <allegro5/allegro_font.h>
6#include <allegro5/allegro_image.h>
7#include <allegro5/allegro_audio.h> // biblioteca de som
8#include <allegro5/allegro_acodec.h> // biblioteca complementar para o som
9#include <allegro5/allegro_primitives.h> // permite colocar formas simples, linhas, pontos, etc. (formas primitivas)
10#include <allegro5/allegro_ttf.h> //Para as TTF FONTS
11
12//GAME STATES, informamos o "status" do jogo
13#define STATE_START 1
14#define STATE_PRESSED_BURACO 2
15#define STATE_PRESSED_PULA_BURACO 3
16#define STATE_PRESSED_CAI_BURACO 4
17#define STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE 5
18#define STATE_PRESSED_SONO_DESCANSA_OU_CORRE 6
19#define STATE_PRESSED_MACHUCADO_CORRE 7
20#define STATE_PRESSED_MACHUCADO_DESCANSA 8
21#define STATE_PRESSED_GAME_OVER 9
22#define STATE_PRESSED_SONO_CORRE 10
23#define STATE_PRESSED_SONO_DESCANSA 11
24#define STATE_PRESSED_CAI_BURACO_AJUDA 12
25#define STATE_PRESSED_CAI_BURACO_CORRE 13
26#define STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO 14
27#define STATE_PRESSED_CAI_BURACO_CAVANDO 15
28#define STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE 16
29#define STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA 17
30#define STATE_CORRE 18
31#define STATE_ABRIGO 19
32
33int gameState = STATE_START; //Definimos o STATE de início
34
35
36char text[255] = " PRESSIONE ENTER PARA COMEÇAR O JOGO";
37char text1[255] = "";
38char text2[255] = "";
39char text3[255] = "@ TODOS DIREITOS RESERVADOS AO DINO PESCOÇUDO @";
40
41void must_init(bool test, const char *description){
42 if(test) return;
43
44 printf("couldn't initialize %s\n", description);
45 exit(1);
46}
47
48int main(){
49 must_init(al_init(), "allegro"); // auxilia o must_init(), evitar de colocar instruções a mais par averificar erros.
50 must_init(al_install_keyboard(), "keyboard");
51 must_init(al_install_mouse(), "mouse"); // instalando o mouse (opcional), mas não o estamos utilizando
52
53 ALLEGRO_TIMER* timer = al_create_timer(1.0 / 30.0);
54 must_init(timer, "timer");
55
56 ALLEGRO_TIMER* gameOverTimer = al_create_timer(3); //Game Over timer vai durar 3 segundos
57 must_init(gameOverTimer, "gameOverTimer");
58
59 ALLEGRO_EVENT_QUEUE* queue = al_create_event_queue();
60 must_init(queue, "queue");
61
62 // Permite que as formas e linhas tenham maior definição, deixar mais suave.
63 al_set_new_display_option(ALLEGRO_SAMPLE_BUFFERS, 1, ALLEGRO_SUGGEST); // imagem suave
64 al_set_new_display_option(ALLEGRO_SAMPLES, 8, ALLEGRO_SUGGEST); // imagem suave
65 al_set_new_bitmap_flags(ALLEGRO_MIN_LINEAR | ALLEGRO_MAG_LINEAR); // imagem suave
66
67 ALLEGRO_DISPLAY* disp = al_create_display(1250, 800);
68 must_init(disp, "display");
69
70 // Configuração de fontes, tamanhos etc.
71 must_init(al_init_font_addon(), "font"); //WE NEED TO INIT FONT FIRST!
72 must_init(al_init_ttf_addon(), "ttf font"); //THEN WE NEED TO INIT TTF FONTS
73 ALLEGRO_FONT* font = al_load_ttf_font("Antonio-Bold.ttf", 25, ALLEGRO_ALIGN_LEFT); //NOW WE CAN CHOOSE SIZE
74 ALLEGRO_FONT* font1 = al_load_ttf_font("Antonio-Bold.ttf", 25, ALLEGRO_ALIGN_LEFT);
75 ALLEGRO_FONT* font2 = al_load_ttf_font("Antonio-Bold.ttf", 25, ALLEGRO_ALIGN_LEFT);
76 ALLEGRO_FONT* font3 = al_load_ttf_font("Antonio-Bold.ttf", 8, ALLEGRO_ALIGN_LEFT);
77
78
79 must_init(al_init_primitives_addon(), "primitives"); // Para inserir linhas, formas e pontos no código. Não utilizamos
80
81 al_start_timer(timer);
82 al_register_event_source(queue, al_get_keyboard_event_source());
83 al_register_event_source(queue, al_get_display_event_source(disp));
84 al_register_event_source(queue, al_get_timer_event_source(timer));
85 al_register_event_source(queue, al_get_mouse_event_source()); // adicionado para o mouse funcionar
86
87 // IMAGENS
88 must_init(al_init_image_addon(), "image addon");
89 ALLEGRO_BITMAP* apresentacao = al_load_bitmap("apresentacao.png");
90 must_init(apresentacao, "apresentacao");
91
92 ALLEGRO_BITMAP* pula_ignora = al_load_bitmap("pula_ignora.png");
93 must_init(pula_ignora, "pula_ignora");
94
95 ALLEGRO_BITMAP* pulando = al_load_bitmap("pulando.png");
96 must_init(pulando, "pulando");
97
98 ALLEGRO_BITMAP* no_buraco = al_load_bitmap("no_buraco.png");
99 must_init(no_buraco, "no_buraco");
100
101 ALLEGRO_BITMAP* correndo = al_load_bitmap("correndo.png");
102 must_init(correndo, "correndo");
103
104 ALLEGRO_BITMAP* descansando = al_load_bitmap("descansando.png");
105 must_init(descansando, "descansando");
106
107 ALLEGRO_BITMAP* bebendo_agua = al_load_bitmap("bebendo_agua.png");
108 must_init(bebendo_agua, "bebendo_agua");
109
110 ALLEGRO_BITMAP* abrigo = al_load_bitmap("abrigo.png");
111 must_init(abrigo, "abrigo");
112
113 ALLEGRO_BITMAP* game_over = al_load_bitmap("game_over.png");
114 must_init(game_over, "game_over");
115
116 ALLEGRO_BITMAP* pedindo_ajuda = al_load_bitmap("pedindo_ajuda.png");
117 must_init(pedindo_ajuda, "pedindo_ajuda");
118
119 ALLEGRO_BITMAP* planta = al_load_bitmap("planta.png");
120 must_init(planta, "planta");
121
122 ALLEGRO_BITMAP* saiu_buraco = al_load_bitmap("saiu_buraco.png");
123 must_init(saiu_buraco, "saiu_buraco");
124
125 // adicionando o audio ao jogo
126 must_init(al_install_audio(), "audio");
127 must_init(al_init_acodec_addon(), "audio codecs");
128 must_init(al_reserve_samples(16), "reserve samples");
129
130 // para música longa, música tema do jogo
131 ALLEGRO_AUDIO_STREAM* music = al_load_audio_stream("music.opus", 2, 2048); // os números são referentes as áreas da memoria onde a musica sera armazenada. não mudar
132 must_init(music, "music");
133 al_set_audio_stream_playmode(music, ALLEGRO_PLAYMODE_LOOP); // música em loop
134 al_attach_audio_stream_to_mixer(music, al_get_default_mixer()); // linha para o som sair
135
136 bool done = false;
137 bool redraw = false;
138 ALLEGRO_EVENT event;
139
140 #define KEY_SEEN 1
141 #define KEY_RELEASED 2
142
143 unsigned char key[ALLEGRO_KEY_MAX];
144 memset(key, 0, sizeof(key));
145 al_hide_mouse_cursor(disp);
146
147
148
149 while(1){
150 al_wait_for_event(queue, &event);
151
152 switch(event.type)
153 {
154 case ALLEGRO_EVENT_TIMER:
155 {
156 redraw = true;
157
158 if(gameState == STATE_PRESSED_GAME_OVER && al_get_timer_count(gameOverTimer) > 0) //CASO STATE SEJA GAME OVER
159 {
160 sprintf(text, "%s", "RECOMEÇANDO O JOGO");
161 gameState = STATE_START;
162
163 //RESET O GAME OVER TIMER!
164 al_stop_timer(gameOverTimer);
165 al_set_timer_count(gameOverTimer, 0);
166 }
167
168 break;
169 }
170
171 case ALLEGRO_EVENT_KEY_CHAR:
172 {
173 if(event.keyboard.keycode == ALLEGRO_KEY_ENTER && gameState == STATE_START) //OK
174 {
175 sprintf(text, "%s", " EM UM DIA QUALQUER, DINO PERCEBE UM METEORO VINDO EM SUA DIREÇÃO E COMEÇA A FUGIR.");
176 sprintf(text1, "%s", " APÓS UM TEMPO CORRENDO, DINO VÊ UM BURACO NO SEU CAMINHO.");
177 sprintf(text2, "%s", " O QUE DINO DEVE FAZER: PULAR (A) OU TENTAR CONTORNAR O BURACO (B)?");
178 sprintf(text3, "%s", "");
179 gameState = STATE_PRESSED_BURACO;
180
181 }
182 // PULA BURACO
183 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_BURACO) //OK
184 {
185 sprintf(text, "%s", " DINO PULOU O BURACO, MAS MACHUCOU A PATINHA!!! ");
186 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
187 sprintf(text2, "%s", " CONTINUAR CORRENDO (A), MESMO MACHUCADO, OU COMER UMA PLANTA MEDICINAL PARA PASSAR A DOR (B)?");
188 sprintf(text3, "%s", "");
189 gameState = STATE_PRESSED_PULA_BURACO;
190 }
191
192 // DINO PULA BURACO E CORRE
193 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_PULA_BURACO) //OK ....
194 {
195 sprintf(text, "%s", " DINO, MESMO MACHUCADO, CONTINUOU CORRENDO. ENTRETANTO, ESTÁ CORRENDO MUITO DEVAGAR!");
196 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
197 sprintf(text2, "%s", " CONTINUAR CORRENDO MACHUCADO (A) OU DESCANSAR PARA SARAR A PATINHA (B)?");
198 sprintf(text3, "%s", "");
199 gameState = STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE;
200 }
201
202 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE) //OK
203 {
204 sprintf(text, "%s", " DINO CONTINUOU CORRENDO, MAS ESTÁ DEVAGAR DEVIDO A PATA MACHUCADA. E O METEORO ESTÁ MAIS PRÓXIMO!");
205 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
206 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
207 sprintf(text3, "%s", "");
208 gameState = STATE_PRESSED_MACHUCADO_CORRE;
209 }
210
211 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE) //OK
212 {
213 sprintf(text, "%s", " DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO E O METEORO ESTÁ MUITO PRÓXIMO!");
214 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
215 sprintf(text2, "%s", " DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?");
216 sprintf(text3, "%s", "");
217 gameState = STATE_PRESSED_MACHUCADO_DESCANSA;
218 }
219
220 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_MACHUCADO_CORRE)
221 {
222 sprintf(text, "%s", " O METEORO CADA VEZ MAIS PRÓXIMO!");
223 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
224 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
225 sprintf(text3, "%s", "");
226 gameState = STATE_CORRE;
227 }
228
229 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_MACHUCADO_CORRE) /// REFAZER, ESTÁ ERRADO
230 {
231 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
232 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
233 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
234 sprintf(text3, "%s", "");
235 gameState = STATE_ABRIGO;
236 }
237
238 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_MACHUCADO_DESCANSA)
239 {
240 sprintf(text, "%s", " O METEORO CADA VEZ MAIS PRÓXIMO!");
241 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
242 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
243 sprintf(text3, "%s", "");
244 gameState = STATE_CORRE;
245 }
246
247 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_MACHUCADO_DESCANSA)
248 {
249 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
250 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
251 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
252 sprintf(text3, "%s", "");
253 gameState = STATE_ABRIGO;
254 }
255
256 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_CORRE)
257 {
258 sprintf(text, "%s", " VOCÊ MATOU O DINO!");
259 sprintf(text1, "%s", "");
260 sprintf(text2, "%s", " GAME OVER! DESEJA JOGAR NOVAMENTE (S)?");
261 sprintf(text3, "%s", "");
262 gameState = STATE_PRESSED_GAME_OVER;
263 }
264
265 else if(event.keyboard.keycode == ALLEGRO_KEY_S && gameState == STATE_PRESSED_GAME_OVER)
266 {
267 sprintf(text, "%s", "");
268 sprintf(text1, "%s", " PARA RECOMEÇA, APERTE");
269 sprintf(text2, "%s", " ENTER");
270 sprintf(text3, "%s", "");
271 gameState = STATE_START;
272 }
273
274
275 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_CORRE)
276 {
277 sprintf(text, "%s", " VOCÊ MATOU O DINO!");
278 sprintf(text1, "%s", "");
279 sprintf(text2, "%s", " GAME OVER! DESEJA JOGAR NOVAMENTE (S)?");
280 sprintf(text3, "%s", "");
281 gameState = STATE_PRESSED_GAME_OVER;
282 }
283
284 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_ABRIGO)
285 {
286 sprintf(text, "%s", " VOCÊ MATOU O DINO!");
287 sprintf(text1, "%s", "");
288 sprintf(text2, "%s", " GAME OVER! DESEJA JOGAR NOVAMENTE (S)?");
289 sprintf(text3, "%s", "");
290 gameState = STATE_PRESSED_GAME_OVER;
291 }
292
293 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_ABRIGO)
294 {
295 sprintf(text, "%s", " VOCÊ MATOU O DINO!");
296 sprintf(text1, "%s", "");
297 sprintf(text2, "%s", " GAME OVER! DESEJA JOGAR NOVAMENTE (S)?");
298 sprintf(text3, "%s", "");
299 gameState = STATE_PRESSED_GAME_OVER;
300 }
301
302 //DINO PULA O BURACO E COME A PLANTA
303 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_PULA_BURACO)
304 {
305 sprintf(text, "%s", " DINO PAROU PARA COMER A PLANTA MEDICINAL, E A DOR PASSOU. ENTRETANTO, A PLANTA DEIXOU DINO COM SONO.");
306 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
307 sprintf(text2, "%s", " DEVE COMEÇAR A CORRER (A) MESMO SONOLENTO OU PARAR PARA DESCANSAR (B)?");
308 sprintf(text3, "%s", "");
309 gameState = STATE_PRESSED_SONO_DESCANSA_OU_CORRE;
310 }
311
312 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_SONO_DESCANSA_OU_CORRE)
313 {
314 sprintf(text, "%s", " DINO ESTÁ CORRENDO LENTAMENTE, DEVIDO AO SONO. ENTRETANTO, PERDEU MUITO TEMPO E O METEORO ESTÁ PRÓXIMO!");
315 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
316 sprintf(text2, "%s", " DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
317 sprintf(text3, "%s", "");
318 gameState = STATE_PRESSED_SONO_CORRE;
319 }
320
321 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_SONO_DESCANSA_OU_CORRE)
322 {
323 sprintf(text, "%s", " DINO PAROU PARA DESCANSAR, MAS PERDEU MUITO TEMPO. O METEORO ESTÁ PRÓXIMO!");
324 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
325 sprintf(text2, "%s", " DEVE CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
326 sprintf(text3, "%s", "");
327 gameState = STATE_PRESSED_SONO_DESCANSA;
328 }
329
330 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_SONO_CORRE)
331 {
332 sprintf(text, "%s", " DINO CONTINUA CORRENDO, E O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO!");
333 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
334 sprintf(text2, "%s", " DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?");
335 sprintf(text3, "%s", "");
336 gameState = STATE_CORRE;
337 }
338
339 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_SONO_CORRE)
340 {
341 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO!");
342 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
343 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
344 sprintf(text3, "%s", "");
345 gameState = STATE_ABRIGO;
346 }
347
348 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_SONO_DESCANSA)
349 {
350 sprintf(text, "%s", " DINO CONTINUAR CORRENDO, E O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO!");
351 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
352 sprintf(text2, "%s", " DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?");
353 sprintf(text3, "%s", "");
354 gameState = STATE_CORRE;
355 }
356
357 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_SONO_DESCANSA)
358 {
359 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO ESTÁ CHEGANDO!");
360 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
361 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
362 sprintf(text3, "%s", "");
363 gameState = STATE_ABRIGO;
364 }
365
366
367 // CAI NO BURACO
368 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_BURACO)
369 {
370 sprintf(text, "%s", " DINO TENTOU CONTONAR O BURACO, E ACABOU CAINDO! ");
371 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
372 sprintf(text2, "%s", " DEVE PEDIR AJUDA (A) OU SAIR DO BURACO CAVANDO (B)?");
373 sprintf(text3, "%s", "");
374 gameState = STATE_PRESSED_CAI_BURACO;
375 }
376
377 // CAI BURACO SAI COM AJUDA
378 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_CAI_BURACO)
379 {
380 sprintf(text, "%s", " DINO PEDIU AJUDA, MAS DEMOROU MUITO, E ACABOU PERDENDO TEMPO PRECIOSO. ");
381 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
382 sprintf(text2, "%s", " DEVE CORRER NORMALMENTE (A) OU CORRER O MAIS RÁPIDO POSSIVEL (B)?");
383 sprintf(text3, "%s", "");
384 gameState = STATE_PRESSED_CAI_BURACO_AJUDA;
385 }
386
387 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_CAI_BURACO_AJUDA)
388 {
389 sprintf(text, "%s", " DINO NÃO ESTÁ CORRENDO RÁPIDO O SUFICIENTE, E O METEORO ESTÁ SE APROXIMANDO.");
390 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
391 sprintf(text2, "%s", " DINO DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?");
392 sprintf(text3, "%s", "");
393 gameState = STATE_PRESSED_CAI_BURACO_CORRE;
394 }
395
396 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_CAI_BURACO_CORRE)
397 {
398 sprintf(text, "%s", " DINO CONTINUA CORRENDO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
399 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
400 sprintf(text2, "%s", " DINO DEVE CONTINUAR CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?");
401 sprintf(text3, "%s", "");
402 gameState = STATE_CORRE;
403 }
404
405 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_CAI_BURACO_CORRE)
406 {
407 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
408 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
409 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
410 sprintf(text3, "%s", "");
411 gameState = STATE_ABRIGO;
412 }
413
414 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_SONO_DESCANSA)
415 {
416 sprintf(text, "%s", " O METEORO CADA VEZ MAIS PRÓXIMO!");
417 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
418 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
419 sprintf(text3, "%s", "");
420 gameState = STATE_CORRE;
421 }
422
423 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_SONO_DESCANSA)
424 {
425 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
426 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
427 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
428 sprintf(text3, "%s", "");
429 gameState = STATE_ABRIGO;
430 }
431
432 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_CAI_BURACO_AJUDA)
433 {
434 sprintf(text, "%s", " DINO ESTAVA CORRENDO MUITO RÁPIDO, E ACABOU TROPEÇANDO E CAINDO. COM ISSO, O METEORO ESTÁ CADA VEZ MAIS PRÓXIMO ");
435 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
436 sprintf(text2, "%s", " DEVE CONTINUAR CORRENDO DO COMETA (A) OU PROCURAR ABRIGO (B)?");
437 sprintf(text3, "%s", "");
438 gameState = STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO;
439 }
440
441 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO)
442 {
443 sprintf(text, "%s", " O METEORO CADA VEZ MAIS PRÓXIMO!");
444 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
445 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
446 sprintf(text3, "%s", "");
447 gameState = STATE_CORRE;
448 }
449
450 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO)
451 {
452 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
453 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
454 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
455 sprintf(text3, "%s", "");
456 gameState = STATE_ABRIGO;
457 }
458
459 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_SONO_DESCANSA)
460 {
461 sprintf(text, "%s", " O METEORO CADA VEZ MAIS PRÓXIMO!");
462 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
463 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
464 sprintf(text3, "%s", "");
465 gameState = STATE_CORRE;
466 }
467
468 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_SONO_DESCANSA)
469 {
470 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
471 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
472 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
473 sprintf(text3, "%s", "");
474 gameState = STATE_ABRIGO;
475 }
476
477 // CAI BURACO SAI CAVANDO
478 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_CAI_BURACO) //
479 {
480 sprintf(text, "%s", " DINO SAIU DO BURACO CAVANDO, MAS AGORA ESTÁ COM MUITA SEDE.");
481 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
482 sprintf(text2, "%s", " DEVE IGNORAR A SEDE E COMEÇAR A CORRER (A) OU BEBER ÁGUA (B)?");
483 sprintf(text3, "%s", "");
484 gameState = STATE_PRESSED_CAI_BURACO_CAVANDO;
485 }
486
487 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_CAI_BURACO_CAVANDO)
488 {
489 sprintf(text, "%s", "DINO COMEÇAR A CORRER COM SEDE, E ISSO DEIXA-O MUITO LENTO. DESSA FORMA, O METEORO ESTÁ CADA VEZ MAIS PERTO.");
490 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
491 sprintf(text2, "%s", " DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?");
492 sprintf(text3, "%s", "");
493 gameState = STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE;
494 }
495
496 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_CAI_BURACO_CAVANDO)
497 {
498 sprintf(text, "%s", " DINO BEBE ÁGUA, MAS ACABA PERDENDO MUITO TEMPO. E O METEORO ESTÁ CADA VEZ MAIS PERTO!");
499 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
500 sprintf(text2, "%s", " DEVE CORRER DO METEORO (A) OU PROCURAR ABRIGO (B)?");
501 sprintf(text3, "%s", "");
502 gameState = STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA;
503 }
504
505 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE)
506 {
507 sprintf(text, "%s", " O METEORO CADA VEZ MAIS PRÓXIMO!");
508 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
509 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
510 sprintf(text3, "%s", "");
511 gameState = STATE_CORRE;
512 }
513
514 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE)
515 {
516 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
517 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
518 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
519 sprintf(text3, "%s", "");
520 gameState = STATE_ABRIGO;
521 }
522
523 else if(event.keyboard.keycode == ALLEGRO_KEY_A && gameState == STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA)
524 {
525 sprintf(text, "%s", " O METEORO CADA VEZ MAIS PRÓXIMO!");
526 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
527 sprintf(text2, "%s", " CONTINUAR CORRENDO DO METEORO (A) OU PROCURAR ABRIGO (B)?");
528 sprintf(text3, "%s", "");
529 gameState = STATE_CORRE;
530 }
531
532 else if(event.keyboard.keycode == ALLEGRO_KEY_B && gameState == STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA)
533 {
534 sprintf(text, "%s", " DINO ESTÁ NO ABRIGO, E O METEORO CADA VEZ MAIS PRÓXIMO!");
535 sprintf(text1, "%s", " O QUE DINO DEVE FAZER:");
536 sprintf(text2, "%s", " DEVE VOLTAR A CORRER DO METEORO (A) OU CONTINUAR NO ABRIGO (B)?");
537 sprintf(text3, "%s", "");
538 gameState = STATE_ABRIGO;
539 }
540
541 if(event.keyboard.keycode != ALLEGRO_KEY_ESCAPE)
542 {
543 break;
544 }
545 }
546
547 case ALLEGRO_EVENT_DISPLAY_CLOSE:
548 {
549 done = true;
550 break;
551 }
552 }
553
554 if(done)
555 break;
556
557 if(redraw && al_is_event_queue_empty(queue))
558 {
559 al_clear_to_color(al_map_rgb(0, 0, 0));
560 al_draw_text(font, al_map_rgb(255, 255, 255), 100, 550, 0, text);
561 al_draw_text(font1, al_map_rgb(255, 255, 255), 100, 600, 0, text1);
562 al_draw_text(font2, al_map_rgb(0, 255, 1), 100, 650, 0, text2);
563 al_draw_text(font2, al_map_rgb(0, 255, 1), 400, 700, 0, text3);
564
565 if(gameState == STATE_START)
566 al_draw_bitmap(apresentacao, 10, 50, 0);
567 if(gameState == STATE_PRESSED_BURACO)
568 al_draw_bitmap(pula_ignora, 130, 100, 0);
569 if(gameState == STATE_PRESSED_PULA_BURACO)
570 al_draw_bitmap(pulando, 130, 100, 0);
571 if(gameState == STATE_PRESSED_CAI_BURACO)
572 al_draw_bitmap(pedindo_ajuda, 130, 100, 0);
573 if(gameState == STATE_PRESSED_MACHUCADO_DESCANSA_OU_CORRE)
574 al_draw_bitmap(correndo, 130, 100, 0);
575 if(gameState == STATE_PRESSED_MACHUCADO_CORRE)
576 al_draw_bitmap(correndo, 130, 100, 0);
577 if(gameState == STATE_PRESSED_MACHUCADO_DESCANSA)
578 al_draw_bitmap(descansando, 130, 100, 0);
579 if(gameState == STATE_CORRE)
580 al_draw_bitmap(correndo, 130, 100, 0);
581 if(gameState == STATE_PRESSED_GAME_OVER)
582 al_draw_bitmap(game_over, 130, 100, 0);
583 if(gameState == STATE_ABRIGO)
584 al_draw_bitmap(abrigo, 10, 50, 0);
585 if(gameState == STATE_PRESSED_SONO_DESCANSA_OU_CORRE)
586 al_draw_bitmap(planta, 130, 100, 0);
587 if(gameState == STATE_PRESSED_SONO_CORRE)
588 al_draw_bitmap(correndo, 130, 100, 0);
589 if(gameState == STATE_PRESSED_SONO_DESCANSA)
590 al_draw_bitmap(descansando, 130, 100, 0);
591 if(gameState == STATE_PRESSED_CAI_BURACO_AJUDA)
592 al_draw_bitmap(correndo, 130, 100, 0);
593 if(gameState == STATE_PRESSED_CAI_BURACO_CAVANDO)
594 al_draw_bitmap(descansando, 130, 100, 0);
595 if(gameState == STATE_PRESSED_CAI_BURACO_CORRE)
596 al_draw_bitmap(correndo, 130, 100, 0);
597 if(gameState == STATE_PRESSED_CAI_BURACO_CORRE_RAPIDO)
598 al_draw_bitmap(descansando, 130, 100, 0);
599 if(gameState == STATE_PRESSED_CAI_BURACO_CAVANDO_CORRE)
600 al_draw_bitmap(correndo, 130, 100, 0);
601 if(gameState == STATE_PRESSED_CAI_BURACO_CAVANDO_AGUA)
602 al_draw_bitmap(bebendo_agua, 130, 100, 0);
603 al_flip_display();
604 redraw = false;
605 }
606
607 }
608
609 al_destroy_bitmap(apresentacao);
610 al_destroy_bitmap(pula_ignora);
611 al_destroy_bitmap(pulando);
612 al_destroy_bitmap(no_buraco);
613 al_destroy_bitmap(correndo);
614 al_destroy_bitmap(descansando);
615 al_destroy_bitmap(bebendo_agua);
616 al_destroy_bitmap(abrigo);
617 al_destroy_bitmap(game_over);
618 al_destroy_bitmap(pedindo_ajuda);
619 al_destroy_bitmap(planta);
620 al_destroy_bitmap(saiu_buraco);
621 al_destroy_font(font);
622 al_destroy_display(disp);
623 al_destroy_audio_stream(music);
624 al_destroy_timer(timer);
625 al_destroy_event_queue(queue);
626
627 return 0;
628}
Can anyone help me? So many thanks |
Edgar Reynaldo
Major Reynaldo
May 2007
|
Your compiler isn't picking up your includes. It's either because it doesn't look where they are, or you haven't told it to look there. The proper way to install a library is to a different directory than your compiler and then use compiler flags to tell it where it is. -I c:\path\to\includes You will need to do the same with your linker. -L c:\path\to\lib Do both of those on the command line before you link your libraries. My Website! | EAGLE GUI Library Demos | My Deviant Art Gallery | Spiraloid Preview | A4 FontMaker | Skyline! (Missile Defense) Eagle and Allegro 5 binaries | Older Allegro 4 and 5 binaries | Allegro 5 compile guide |
mayna azevedo
Member #20,077
May 2021
|
Wow, it worked. Thank you. |
|