~ubuntu-branches/ubuntu/oneiric/mazeofgalious/oneiric

« back to all changes in this revision

Viewing changes to shrines.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Gürkan Sengün
  • Date: 2005-12-01 13:04:23 UTC
  • Revision ID: james.westby@ubuntu.com-20051201130423-d2fwyv8jt082cbxt
Tags: upstream-0.62.dfsg2
Import upstream version 0.62.dfsg2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "math.h"
 
2
#include "stdio.h"
 
3
#include "stdlib.h"
 
4
#include "SDL/SDL.h"
 
5
#include "SDL_mixer.h"
 
6
#include "sound.h"
 
7
#include "MOGtypes.h"
 
8
 
 
9
// #include "drawing.h"
 
10
#include "bitmaps.h"
 
11
#include "sprites.h"
 
12
#include "tiles.h"
 
13
#include "mog.h"
 
14
 
 
15
const int MAX_FIRED_ARROWS[2]={2,3};
 
16
 
 
17
 
 
18
/* Gr�ficos: */ 
 
19
extern Bitmap *konami_bmp,*menu_bmp,*tiles_bmp,*enemy_bmp;
 
20
extern int n_tiles;
 
21
extern CTile **tiles;
 
22
 
 
23
extern BYTE *col_buffer,*buffer_screen;
 
24
 
 
25
/* Estado: */ 
 
26
extern int STATE,SUBSTATE;
 
27
extern int cycle;
 
28
 
 
29
/* Juego: */ 
 
30
extern int map;                 /* En que mundo est� el personaje                       */ 
 
31
extern int map_x,map_y; /* En que habitaci�n dentro del mundo           */ 
 
32
extern int pers_x,pers_y;       /* Posici�n del personaje en la habitaci�n      */ 
 
33
extern int pers_pos;
 
34
extern bool pers_right; /* Hacia donde mira el personaje                        */ 
 
35
extern int pers_state;          /* Estado en el que se encuentra el personaje   */ 
 
36
extern int pers_substate;       /* Variable de estado secundaria.                       */ 
 
37
extern int pers_walk_state;     /* Variable que controla el caminar.    */ 
 
38
extern int jump_inertia;
 
39
extern bool sword;                              /* Hay que dibujar la espada?   */ 
 
40
extern bool old_sword;
 
41
extern int sword_x,sword_y;     /* Coordenadas de la espada.    */ 
 
42
extern int sword_time;
 
43
extern unsigned char old_keyboard[SDLK_LAST];
 
44
extern int in_ladder;                   /* En qu� escalera est� el personaje    */ 
 
45
extern bool previous_x_collision;       /* Hubo una colisi�n en X en el frame anterior? */ 
 
46
extern bool previous_y_collision;       /* Hubo una colisi�n en Y en el frame anterior? */ 
 
47
extern int hit_time;    /* Contador para saber cuando pueden da�arnos de nuevo  */ 
 
48
extern int character;
 
49
extern bool live_character[2],can_revive_character[2];
 
50
extern int current_weapon;
 
51
extern int n_fired_arrows;
 
52
 
 
53
extern int in_door;
 
54
extern int to_enter_cut;
 
55
 
 
56
extern bool shop_item[3];
 
57
extern int passage_state,currently_selecting;
 
58
 
 
59
extern bool room_slimes,room_watermonster,room_fallingstones,room_rollingstones;
 
60
extern bool room_blobs;
 
61
extern bool room_demonroom,old_room_demonroom;
 
62
extern int room_fairy,fairy_x,fairy_y;
 
63
extern int room_appearwall,room_appearwall_x,room_appearwall_y;
 
64
extern int fighting_demon,watermonster_state;
 
65
extern int world3_room06_counter;
 
66
 
 
67
extern bool room_demonroom,old_room_demonroom;
 
68
extern int fighting_demon;
 
69
 
 
70
extern int n_arrows,n_coins,n_keys;
 
71
extern int player_energy[2],player_experience[2],player_max[2];
 
72
extern int player_denergy[2],player_dexperience[2];
 
73
extern bool item[38];
 
74
extern bool world_item[10][4];
 
75
extern bool cross,world_key;
 
76
extern int next_world;
 
77
extern bool world_doors_open[10];
 
78
extern bool in_water;
 
79
extern int water_counter;
 
80
 
 
81
extern int room_size_x,room_size_y;
 
82
extern int *room_tiles;
 
83
 
 
84
extern int wall_tile;
 
85
extern int stone_tile,ladder_tile,wdoor_tile,keydoor_tile,stats_tile;
 
86
extern int coin_tile,arrow_tile,key_tile,door_tile;
 
87
extern int character_tile[2],character_tile_inv[2];
 
88
extern int pause_tile[2];
 
89
extern int colision_tile;
 
90
extern int sword_tile[2],explosion_tile;
 
91
extern int worm_tile,bat_tile,skeleton_tile,smoke_tile,slime_tile,bouncingball_tile;
 
92
extern int watermonster_tile,jumpingbush_tile,bluespider_tile,whitefireball_tile;
 
93
extern int knight_tile,blob_tile,bambu_tile,porcupine_tile,fairy_tile,witch_tile;
 
94
extern int whitebear_tile,feet_tile,redjumper_tile,lever_tile;
 
95
extern int items_tile,armas_tile,tomb_tile,wkeydoor_tile,wnokeydoor_tile;
 
96
extern int demonsign_tile,lupa_tile,demonsmoke_tile,demon_tile;
 
97
 
 
98
/* Transportadores: */ 
 
99
extern int lever_room_x[MAX_LEVERS];
 
100
extern int lever_room_y[MAX_LEVERS];
 
101
extern int lever_x[MAX_LEVERS];
 
102
extern int lever_y[MAX_LEVERS];
 
103
extern int lever_drx[MAX_LEVERS][2];
 
104
extern int lever_dry[MAX_LEVERS][2];
 
105
extern int lever_dx[MAX_LEVERS][2];
 
106
extern int lever_dy[MAX_LEVERS][2];
 
107
extern int lever_going_to[MAX_LEVERS];
 
108
 
 
109
extern int worm_state_tile[28];
 
110
extern int worm_state_tile_i[28];
 
111
extern int worm_state_y[28];
 
112
 
 
113
 
 
114
/* Efectos de sonido: */ 
 
115
extern SOUNDT S_pause,S_death,S_gameover,S_worldkey,S_entering;
 
116
extern SOUNDT S_gamestart,S_jump,S_sword,S_swordhit;
 
117
extern SOUNDT S_item,S_ah,S_powerup,S_enemyhit,S_door;
 
118
extern SOUNDT S_enemykill,S_ladderdisapear,S_armourhit;
 
119
extern SOUNDT S_enterwater,S_select,S_firearrow;
 
120
extern SOUNDT S_nocoins;
 
121
 
 
122
 
 
123
/* Control de pantalla: */ 
 
124
extern int logic_dx[4],logic_dy[4],logic_x[4],logic_y[4];
 
125
extern int physic_dx[4],physic_dy[4],physic_x[4],physic_y[4];
 
126
 
 
127
extern int zoom;
 
128
 
 
129
 
 
130
/* Teclas: */ 
 
131
extern SDLKey UP_KEY,DOWN_KEY,LEFT_KEY,RIGHT_KEY;
 
132
extern SDLKey SWORD_KEY,WEAPON_KEY,ITEM_KEY,PAUSE_KEY;
 
133
 
 
134
 
 
135
 
 
136
void passage_mainloop(int map,int map_x,int map_y,unsigned char *screen,int dx,int dy)
 
137
{
 
138
        unsigned char *keyboard;
 
139
 
 
140
        SDL_PumpEvents();
 
141
        keyboard = SDL_GetKeyState(NULL);
 
142
 
 
143
        /* Dibujar el marco: */ 
 
144
        int i;
 
145
 
 
146
        for(i=0;i<32;i++) {
 
147
                tiles[143]->
 
148
                        draw(GAME_VIEW_X+i*TILE_SIZE_X,GAME_VIEW_Y,
 
149
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
150
                tiles[143]->
 
151
                        draw(GAME_VIEW_X+i*TILE_SIZE_X,GAME_VIEW_Y+18*TILE_SIZE_Y,
 
152
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
153
        } /* for */ 
 
154
        for(i=0;i<19;i++) {
 
155
                tiles[143]->
 
156
                        draw(GAME_VIEW_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
157
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
158
                tiles[143]->
 
159
                        draw(GAME_VIEW_X+TILE_SIZE_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
160
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
161
                tiles[143]->
 
162
                        draw(GAME_VIEW_X+30*TILE_SIZE_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
163
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
164
                tiles[143]->
 
165
                        draw(GAME_VIEW_X+31*TILE_SIZE_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
166
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
167
        } /* for */ 
 
168
 
 
169
        tiles[ladder_tile]->
 
170
                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+19*TILE_SIZE_Y,
 
171
                                TILE_SIZE_X*2,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
172
        tiles[character_tile[character]+7]->
 
173
                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+16*TILE_SIZE_Y,
 
174
                                TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
175
 
 
176
        /* Dibujar los bocadillos: */ 
 
177
        tiles[151]->
 
178
                draw(GAME_VIEW_X+4*TILE_SIZE_X,GAME_VIEW_Y+4*TILE_SIZE_Y,
 
179
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
180
        tiles[150]->
 
181
                draw(GAME_VIEW_X+27*TILE_SIZE_X,GAME_VIEW_Y+4*TILE_SIZE_Y,
 
182
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
183
        tiles[149]->
 
184
                draw(GAME_VIEW_X+27*TILE_SIZE_X,GAME_VIEW_Y+10*TILE_SIZE_Y,
 
185
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
186
        tiles[148]->
 
187
                draw(GAME_VIEW_X+4*TILE_SIZE_X,GAME_VIEW_Y+10*TILE_SIZE_Y,
 
188
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
189
        for(i=5;i<27;i++) {
 
190
                tiles[146]->
 
191
                        draw(GAME_VIEW_X+i*TILE_SIZE_X,GAME_VIEW_Y+4*TILE_SIZE_Y,
 
192
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
193
                tiles[146]->
 
194
                        draw(GAME_VIEW_X+i*TILE_SIZE_X,GAME_VIEW_Y+10*TILE_SIZE_Y,
 
195
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
196
        } /* for */ 
 
197
        for(i=5;i<10;i++) {
 
198
                tiles[147]->
 
199
                        draw(GAME_VIEW_X+4*TILE_SIZE_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
200
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
201
                tiles[147]->
 
202
                        draw(GAME_VIEW_X+27*TILE_SIZE_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
203
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
204
        } /* for */ 
 
205
        tiles[145]->
 
206
                draw(GAME_VIEW_X+11*TILE_SIZE_X,GAME_VIEW_Y+4*TILE_SIZE_Y,
 
207
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
208
 
 
209
        tiles[151]->
 
210
                draw(GAME_VIEW_X+4*TILE_SIZE_X,GAME_VIEW_Y+11*TILE_SIZE_Y,
 
211
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
212
        tiles[150]->
 
213
                draw(GAME_VIEW_X+27*TILE_SIZE_X,GAME_VIEW_Y+11*TILE_SIZE_Y,
 
214
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
215
        tiles[149]->
 
216
                draw(GAME_VIEW_X+27*TILE_SIZE_X,GAME_VIEW_Y+15*TILE_SIZE_Y,
 
217
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
218
        tiles[148]->
 
219
                draw(GAME_VIEW_X+4*TILE_SIZE_X,GAME_VIEW_Y+15*TILE_SIZE_Y,
 
220
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
221
        for(i=5;i<27;i++) {
 
222
                tiles[146]->
 
223
                        draw(GAME_VIEW_X+i*TILE_SIZE_X,GAME_VIEW_Y+11*TILE_SIZE_Y,
 
224
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
225
                tiles[146]->
 
226
                        draw(GAME_VIEW_X+i*TILE_SIZE_X,GAME_VIEW_Y+15*TILE_SIZE_Y,
 
227
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
228
        } /* for */ 
 
229
        for(i=12;i<15;i++) {
 
230
                tiles[147]->
 
231
                        draw(GAME_VIEW_X+4*TILE_SIZE_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
232
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
233
                tiles[147]->
 
234
                        draw(GAME_VIEW_X+27*TILE_SIZE_X,GAME_VIEW_Y+i*TILE_SIZE_Y,
 
235
                                 TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
236
        } /* for */ 
 
237
        tiles[144]->
 
238
                draw(GAME_VIEW_X+20*TILE_SIZE_X,GAME_VIEW_Y+15*TILE_SIZE_Y,
 
239
                         TILE_SIZE_X,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
240
 
 
241
        if (map==0 && map_x==5 && map_y==9) {
 
242
                /* DEMETER */ 
 
243
                tile_print("h F5 TO F9",TILE_SIZE_X*6,TILE_SIZE_Y*21,screen,dx,dy);
 
244
 
 
245
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
246
                tiles[154]->
 
247
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
248
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
249
 
 
250
                int slot=-1;
 
251
                /* Guardar el juego a disco: */ 
 
252
 
 
253
                if (keyboard[SDLK_F5] && !old_keyboard[SDLK_F5]) slot=1;
 
254
                if (keyboard[SDLK_F6] && !old_keyboard[SDLK_F6]) slot=2;
 
255
                if (keyboard[SDLK_F7] && !old_keyboard[SDLK_F7]) slot=3;
 
256
                if (keyboard[SDLK_F8] && !old_keyboard[SDLK_F8]) slot=4;
 
257
                if (keyboard[SDLK_F9] && !old_keyboard[SDLK_F9]) slot=5;
 
258
 
 
259
                if (slot!=-1) {
 
260
                        char passwd[48];
 
261
                        char tmp[80];
 
262
                        FILE *fp;
 
263
 
 
264
                        generatepassword(passwd);
 
265
 
 
266
                        sprintf(tmp,"sgame%.2i.txt",slot);
 
267
                        fp=fopen(tmp,"w");
 
268
                        if (fp!=0) {
 
269
                                int i;
 
270
                                for(i=0;i<48;i++) {
 
271
                                        fprintf(fp,"%c",passwd[i]);
 
272
                                } /* for */ 
 
273
                                fclose(fp);
 
274
                                Sound_play(S_select);
 
275
                        } /* if */ 
 
276
                } /* if */ 
 
277
 
 
278
                if (passage_state==0) {
 
279
                        tile_print("YOU WANT THE SECRET",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
280
                        tile_print("CODE TO WAKEN",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
281
                        tile_print("MY MEMORY KEEP THE",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
282
                        tile_print("RECORDS ABOUT YOU?",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
283
                        tile_print("   YES         NO",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
284
                        if (currently_selecting==0) {
 
285
                                tiles[152]->
 
286
                                        draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
287
                                                TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
288
                        } /* if */ 
 
289
                        if (currently_selecting==1) {
 
290
                                tiles[152]->
 
291
                                        draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
292
                                                TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
293
                        } /* if */ 
 
294
                        if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
295
                                if (currently_selecting<1) {
 
296
                                        currently_selecting++;
 
297
                                        Sound_play(S_select);
 
298
                                } /* if */ 
 
299
                        } /* if */ 
 
300
                        if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
301
                                if (currently_selecting>0) {
 
302
                                        currently_selecting--;
 
303
                                        Sound_play(S_select);
 
304
                                } /* if */ 
 
305
                        } /* if */ 
 
306
                        if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
307
                                if (currently_selecting==0) passage_state=2;
 
308
                                if (currently_selecting==1) passage_state=1;
 
309
                                keyboard[SWORD_KEY]=false;
 
310
                        } /* if */ 
 
311
                } /* if */ 
 
312
                if (passage_state==1) {
 
313
                        tile_print("RESCUE THE BABY AS ",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
314
                        tile_print("SOON AS POSSIBLE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
315
                } /* if */ 
 
316
                if (passage_state==2) {
 
317
                        char passwd[48];
 
318
                        char buf[20];
 
319
                        int k;
 
320
 
 
321
                        for(k=0;k<20;k++) buf[k]=' ';
 
322
                        generatepassword(passwd);
 
323
                        buf[0]=passwd[0]; buf[1]=passwd[1]; buf[2]=passwd[2]; buf[3]=passwd[3];
 
324
                        buf[5]=passwd[4]; buf[6]=passwd[5]; buf[7]=passwd[6]; buf[8]=passwd[7];
 
325
                        buf[10]=passwd[8]; buf[11]=passwd[9]; buf[12]=passwd[10]; buf[13]=passwd[11];
 
326
                        buf[15]=passwd[12]; buf[16]=passwd[13]; buf[17]=passwd[14]; buf[18]=passwd[15];
 
327
                        buf[19]=0;
 
328
                        tile_print(buf,TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
329
 
 
330
                        buf[0]=passwd[16]; buf[1]=passwd[17]; buf[2]=passwd[18]; buf[3]=passwd[19];
 
331
                        buf[5]=passwd[20]; buf[6]=passwd[21]; buf[7]=passwd[22]; buf[8]=passwd[23];
 
332
                        buf[10]=passwd[24]; buf[11]=passwd[25]; buf[12]=passwd[26]; buf[13]=passwd[27];
 
333
                        buf[15]=passwd[28]; buf[16]=passwd[29]; buf[17]=passwd[30]; buf[18]=passwd[31];
 
334
                        buf[19]=0;
 
335
                        tile_print(buf,TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
336
 
 
337
                        buf[0]=passwd[32]; buf[1]=passwd[33]; buf[2]=passwd[34]; buf[3]=passwd[35];
 
338
                        buf[5]=passwd[36]; buf[6]=passwd[37]; buf[7]=passwd[38]; buf[8]=passwd[39];
 
339
                        buf[10]=passwd[40]; buf[11]=passwd[41]; buf[12]=passwd[42]; buf[13]=passwd[43];
 
340
                        buf[15]=passwd[44]; buf[16]=' '; buf[17]=' '; buf[18]=' ';
 
341
                        buf[19]=0;
 
342
                        tile_print(buf,TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
343
 
 
344
                        tile_print("DID YOU GET THEM?",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
345
                        tile_print("   YES",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
346
                        tiles[152]->
 
347
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
348
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
349
                        if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
350
                                passage_state=3;
 
351
                        } /* if */ 
 
352
                } /* if */ 
 
353
                if (passage_state==3) {
 
354
                        tile_print("SEE YOU AGAIN",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
355
                } /* if */ 
 
356
 
 
357
        } /* if */ 
 
358
 
 
359
        if (map==0 && map_x==8 && map_y==15) {
 
360
                int price[3]={20,30,20};
 
361
 
 
362
                /* ARES */ 
 
363
                tile_print("ARES",TILE_SIZE_X*18,TILE_SIZE_Y*5,screen,dx,dy);
 
364
                tiles[153]->
 
365
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
366
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
367
 
 
368
                if (passage_state==0) {
 
369
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
370
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
371
                } else {
 
372
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
373
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
374
                } /* if */ 
 
375
                if (shop_item[0]) {
 
376
                        tiles[arrow_tile]->
 
377
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
378
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
379
                } /* if */ 
 
380
                if (shop_item[1]) {
 
381
                        tiles[items_tile+30]->
 
382
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
383
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
384
                } /* if */ 
 
385
                if (shop_item[2]) {
 
386
                        tiles[armas_tile+4]->
 
387
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+8*TILE_SIZE_Y,
 
388
                                        TILE_SIZE_X*2,TILE_SIZE_Y,screen,col_buffer,dx,dy,dx);
 
389
                } /* if */ 
 
390
                tile_print("   20    30    20",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
391
 
 
392
                if (currently_selecting==0) {
 
393
                        tiles[152]->
 
394
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
395
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
396
                } /* if */ 
 
397
                if (currently_selecting==1) {
 
398
                        tiles[152]->
 
399
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
400
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
401
                } /* if */ 
 
402
                if (currently_selecting==2) {
 
403
                        tiles[152]->
 
404
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
405
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
406
                } /* if */ 
 
407
 
 
408
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
409
                        passage_state=0;
 
410
                        if (currently_selecting<2) {
 
411
                                currently_selecting++;
 
412
                                Sound_play(S_select);
 
413
                        } /* if */ 
 
414
                } /* if */ 
 
415
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
416
                        passage_state=0;
 
417
                        if (currently_selecting>0) {
 
418
                                currently_selecting--;
 
419
                                Sound_play(S_select);
 
420
                        } /* if */ 
 
421
                } /* if */ 
 
422
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
423
                        passage_state=0;
 
424
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
425
                                /* Comprar objeto: */ 
 
426
                                n_coins-=price[currently_selecting];
 
427
                                shop_item[currently_selecting]=false;
 
428
                                switch(currently_selecting) {
 
429
                                case 0:n_arrows+=50;
 
430
                                        break;
 
431
                                case 1:item[30]=true;
 
432
                                           item[31]=false;
 
433
                                           item[27]=false;
 
434
                                        break;
 
435
                                case 2:item[36]=true;
 
436
                                        break;
 
437
                                } /* if */ 
 
438
                                Sound_play(S_item);
 
439
                        } else {
 
440
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
441
                                        Sound_play(S_nocoins);
 
442
                                        passage_state=1;
 
443
                                } /* if */ 
 
444
                        } /* if */ 
 
445
                        
 
446
                } /* if */ 
 
447
 
 
448
        } /* if */ 
 
449
 
 
450
        if (map==0 && map_x==0 && map_y==13) {
 
451
                int price[3]={30,5,20};
 
452
 
 
453
                /* HEPHAESTUS */ 
 
454
                tile_print("HEPHAESTUS",TILE_SIZE_X*15,TILE_SIZE_Y*5,screen,dx,dy);
 
455
                tiles[153]->
 
456
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
457
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
458
 
 
459
                if (passage_state==0) {
 
460
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
461
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
462
                } else {
 
463
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
464
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
465
                } /* if */ 
 
466
                if (shop_item[0]) {
 
467
                        tiles[armas_tile+5]->
 
468
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+8*TILE_SIZE_Y,
 
469
                                         screen,col_buffer,dx,dy,dx);
 
470
                } /* if */ 
 
471
                if (shop_item[1]) {
 
472
                        tiles[arrow_tile+1]->
 
473
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
474
                                         screen,col_buffer,dx,dy,dx);
 
475
                } /* if */ 
 
476
                if (shop_item[2]) {
 
477
                        tiles[arrow_tile]->
 
478
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
479
                                         screen,col_buffer,dx,dy,dx);
 
480
                } /* if */ 
 
481
                tile_print("   30    05    20",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
482
 
 
483
                if (currently_selecting==0) {
 
484
                        tiles[152]->
 
485
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
486
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
487
                } /* if */ 
 
488
                if (currently_selecting==1) {
 
489
                        tiles[152]->
 
490
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
491
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
492
                } /* if */ 
 
493
                if (currently_selecting==2) {
 
494
                        tiles[152]->
 
495
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
496
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
497
                } /* if */ 
 
498
 
 
499
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
500
                        passage_state=0;
 
501
                        if (currently_selecting<2) {
 
502
                                currently_selecting++;
 
503
                                Sound_play(S_select);
 
504
                        } /* if */ 
 
505
                } /* if */ 
 
506
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
507
                        passage_state=0;
 
508
                        if (currently_selecting>0) {
 
509
                                currently_selecting--;
 
510
                                Sound_play(S_select);
 
511
                        } /* if */ 
 
512
                } /* if */ 
 
513
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
514
                        passage_state=0;
 
515
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
516
                                /* Comprar objeto: */ 
 
517
                                n_coins-=price[currently_selecting];
 
518
                                shop_item[currently_selecting]=false;
 
519
                                switch(currently_selecting) {
 
520
                                case 0:item[37]=true;
 
521
                                        break;
 
522
                                case 1:n_keys+=2;
 
523
                                        break;
 
524
                                case 2:n_arrows+=50;
 
525
                                        break;
 
526
                                } /* if */ 
 
527
                                Sound_play(S_item);
 
528
                        } else {
 
529
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
530
                                        Sound_play(S_nocoins);
 
531
                                        passage_state=1;
 
532
                                } /* if */ 
 
533
                        } /* if */ 
 
534
                } /* if */ 
 
535
 
 
536
        } /* if */ 
 
537
 
 
538
 
 
539
        if (map==0 && map_x==11 && map_y==10) {
 
540
                /* DEATH */ 
 
541
                tile_print("DEATH",TILE_SIZE_X*18,TILE_SIZE_Y*5,screen,dx,dy);
 
542
                tiles[167]->
 
543
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
544
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
545
                if ((live_character[0] || !can_revive_character[0]) && 
 
546
                        (live_character[1] || !can_revive_character[1]) && passage_state==0) {
 
547
                        tile_print("IF YOUR LOVER IS",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
548
                        tile_print("KILLED,COME BACK",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
549
                        tile_print("HERE WITH abc100,",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
550
                        tile_print("dec100, AND fgc20.",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
551
                } else {
 
552
                        if (passage_state==0) {
 
553
                                tile_print("GIVE ME abc100,",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
554
                                tile_print("dec100 AND fgc20 IN",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
555
                                tile_print("RETURN FOR REVIVING",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
556
                                tile_print("YOUR LOVER.",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
557
                                tile_print("   YES       NO",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
558
                                if (currently_selecting==0) {
 
559
                                        tiles[152]->
 
560
                                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
561
                                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
562
                                } /* if */ 
 
563
                                if (currently_selecting==1) {
 
564
                                        tiles[152]->
 
565
                                                draw(GAME_VIEW_X+20 *TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
566
                                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
567
                                } /* if */ 
 
568
                                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
569
                                        if (currently_selecting<1) {
 
570
                                                currently_selecting++;
 
571
                                                Sound_play(S_select);
 
572
                                        } /* if */ 
 
573
                                } /* if */ 
 
574
                                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
575
                                        if (currently_selecting>0) {
 
576
                                                currently_selecting--;
 
577
                                                Sound_play(S_select);
 
578
                                        } /* if */ 
 
579
                                } /* if */ 
 
580
                                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
581
                                        if (currently_selecting==0 && n_arrows>=100 && n_coins>=100 && n_keys>=20) {
 
582
                                                n_arrows-=100;
 
583
                                                n_coins-=100;
 
584
                                                n_keys-=20;
 
585
                                                can_revive_character[1-character]=false;
 
586
                                                live_character[0]=live_character[1]=true;
 
587
                                                player_energy[1-character]=player_max[1-character];
 
588
                                                passage_state=2;
 
589
                                        } /* if */ 
 
590
                                        if (currently_selecting==1) passage_state=1;
 
591
                                        keyboard[SWORD_KEY]=false;
 
592
                                } /* if */ 
 
593
                        } /* if */ 
 
594
 
 
595
                        if (passage_state==1) {
 
596
                                tile_print("THEN,YOU MUST FIGHT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
597
                                tile_print("ALL BY YOURSELF",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
598
                                tile_print("GO,RIGHT NOW.",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
599
                        } /* if */ 
 
600
 
 
601
                        if (passage_state==2) {
 
602
                                tile_print("YOUR LOVER HAS",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
603
                                tile_print("REVIVED, GO AND GET",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
604
                                tile_print("BACK THE LITTLE BABY",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
605
                                tile_print("TOGETHER. GO AHEAD!",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
606
                        } /* if */ 
 
607
                } /* if */      
 
608
        } /* if */ 
 
609
 
 
610
 
 
611
        if (map==0 && map_x==9 && map_y==7) {
 
612
                int price[3]={20,25,5};
 
613
 
 
614
                /* HEPHAESTUS */ 
 
615
                tile_print("HEPHAESTUS",TILE_SIZE_X*15,TILE_SIZE_Y*5,screen,dx,dy);
 
616
                tiles[153]->
 
617
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
618
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
619
 
 
620
                if (passage_state==0) {
 
621
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
622
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
623
                } else {
 
624
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
625
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
626
                } /* if */ 
 
627
                if (shop_item[0]) {
 
628
                        tiles[arrow_tile]->
 
629
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
630
                                         screen,col_buffer,dx,dy,dx);
 
631
                } /* if */ 
 
632
                if (shop_item[1]) {
 
633
                        tiles[items_tile+22]->
 
634
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
635
                                         screen,col_buffer,dx,dy,dx);
 
636
                } /* if */ 
 
637
                if (shop_item[2]) {
 
638
                        tiles[key_tile]->
 
639
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
640
                                         screen,col_buffer,dx,dy,dx);
 
641
                } /* if */ 
 
642
                tile_print("   20    25    05",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
643
 
 
644
                if (currently_selecting==0) {
 
645
                        tiles[152]->
 
646
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
647
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
648
                } /* if */ 
 
649
                if (currently_selecting==1) {
 
650
                        tiles[152]->
 
651
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
652
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
653
                } /* if */ 
 
654
                if (currently_selecting==2) {
 
655
                        tiles[152]->
 
656
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
657
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
658
                } /* if */ 
 
659
 
 
660
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
661
                        passage_state=0;
 
662
                        if (currently_selecting<2) {
 
663
                                currently_selecting++;
 
664
                                Sound_play(S_select);
 
665
                        } /* if */ 
 
666
                } /* if */ 
 
667
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
668
                        passage_state=0;
 
669
                        if (currently_selecting>0) {
 
670
                                currently_selecting--;
 
671
                                Sound_play(S_select);
 
672
                        } /* if */ 
 
673
                } /* if */ 
 
674
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
675
                        passage_state=0;
 
676
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
677
                                /* Comprar objeto: */ 
 
678
                                n_coins-=price[currently_selecting];
 
679
                                shop_item[currently_selecting]=false;
 
680
                                switch(currently_selecting) {
 
681
                                case 0:n_arrows+=50;
 
682
                                        break;
 
683
                                case 1:item[22]=true;
 
684
                                        break;
 
685
                                case 2:n_keys+=2;
 
686
                                        break;
 
687
                                } /* if */ 
 
688
                                Sound_play(S_item);
 
689
                        } else {
 
690
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
691
                                        Sound_play(S_nocoins);
 
692
                                        passage_state=1;
 
693
                                } /* if */ 
 
694
                        } /* if */ 
 
695
                         
 
696
                } /* if */ 
 
697
 
 
698
        } /* if */ 
 
699
 
 
700
 
 
701
        if (map==0 && map_x==12 && map_y==2) {
 
702
                int price[3]={20,50,5};
 
703
 
 
704
                /* ARES */ 
 
705
                tile_print("ARES",TILE_SIZE_X*18,TILE_SIZE_Y*5,screen,dx,dy);
 
706
                tiles[153]->
 
707
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
708
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
709
 
 
710
                if (passage_state==0) {
 
711
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
712
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
713
                } else {
 
714
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
715
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
716
                } /* if */ 
 
717
                if (shop_item[0]) {
 
718
                        tiles[arrow_tile]->
 
719
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
720
                                         screen,col_buffer,dx,dy,dx);
 
721
                } /* if */ 
 
722
                if (shop_item[1]) {
 
723
                        tiles[items_tile+12]->
 
724
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
725
                                         screen,col_buffer,dx,dy,dx);
 
726
                } /* if */ 
 
727
                if (shop_item[2]) {
 
728
                        tiles[key_tile]->
 
729
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
730
                                         screen,col_buffer,dx,dy,dx);
 
731
                } /* if */ 
 
732
                tile_print("   20    50    05",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
733
 
 
734
                if (currently_selecting==0) {
 
735
                        tiles[152]->
 
736
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
737
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
738
                } /* if */ 
 
739
                if (currently_selecting==1) {
 
740
                        tiles[152]->
 
741
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
742
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
743
                } /* if */ 
 
744
                if (currently_selecting==2) {
 
745
                        tiles[152]->
 
746
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
747
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
748
                } /* if */ 
 
749
 
 
750
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
751
                        passage_state=0;
 
752
                        if (currently_selecting<2) {
 
753
                                currently_selecting++;
 
754
                                Sound_play(S_select);
 
755
                        } /* if */ 
 
756
                } /* if */ 
 
757
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
758
                        passage_state=0;
 
759
                        if (currently_selecting>0) {
 
760
                                currently_selecting--;
 
761
                                Sound_play(S_select);
 
762
                        } /* if */ 
 
763
                } /* if */ 
 
764
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
765
                        passage_state=0;
 
766
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
767
                                /* Comprar objeto: */ 
 
768
                                n_coins-=price[currently_selecting];
 
769
                                shop_item[currently_selecting]=false;
 
770
                                switch(currently_selecting) {
 
771
                                case 0:n_arrows+=50;
 
772
                                        break;
 
773
                                case 1:item[12]=true;
 
774
                                        break;
 
775
                                case 2:n_keys+=2;
 
776
                                        break;
 
777
                                } /* if */ 
 
778
                                Sound_play(S_item);
 
779
                        } else {
 
780
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
781
                                        Sound_play(S_nocoins);
 
782
                                        passage_state=1;
 
783
                                } /* if */ 
 
784
                        } /* if */ 
 
785
                        
 
786
                } /* if */ 
 
787
 
 
788
        } /* if */ 
 
789
 
 
790
 
 
791
        if (map==0 && map_x==2 && map_y==2) {
 
792
                int price[3]={30,20,5};
 
793
 
 
794
                /* HEPHAESTUS */ 
 
795
                tile_print("HEPHAESTUS",TILE_SIZE_X*15,TILE_SIZE_Y*5,screen,dx,dy);
 
796
                tiles[153]->
 
797
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
798
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
799
 
 
800
                if (passage_state==0) {
 
801
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
802
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
803
                } else {
 
804
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
805
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
806
                } /* if */ 
 
807
                if (shop_item[0]) {
 
808
                        tiles[items_tile+20]->
 
809
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
810
                                         screen,col_buffer,dx,dy,dx);
 
811
                } /* if */ 
 
812
                if (shop_item[1]) {
 
813
                        tiles[arrow_tile]->
 
814
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
815
                                         screen,col_buffer,dx,dy,dx);
 
816
                } /* if */ 
 
817
                if (shop_item[2]) {
 
818
                        tiles[key_tile]->
 
819
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
820
                                         screen,col_buffer,dx,dy,dx);
 
821
                } /* if */ 
 
822
                tile_print("   30    20    05",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
823
 
 
824
                if (currently_selecting==0) {
 
825
                        tiles[152]->
 
826
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
827
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
828
                } /* if */ 
 
829
                if (currently_selecting==1) {
 
830
                        tiles[152]->
 
831
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
832
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
833
                } /* if */ 
 
834
                if (currently_selecting==2) {
 
835
                        tiles[152]->
 
836
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
837
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
838
                } /* if */ 
 
839
 
 
840
 
 
841
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
842
                        passage_state=0;
 
843
                        if (currently_selecting<2) {
 
844
                                currently_selecting++;
 
845
                                Sound_play(S_select);
 
846
                        } /* if */ 
 
847
                } /* if */ 
 
848
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
849
                        passage_state=0;
 
850
                        if (currently_selecting>0) {
 
851
                                currently_selecting--;
 
852
                                Sound_play(S_select);
 
853
                        } /* if */ 
 
854
                } /* if */ 
 
855
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
856
                        passage_state=0;
 
857
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
858
                                /* Comprar objeto: */ 
 
859
                                n_coins-=price[currently_selecting];
 
860
                                shop_item[currently_selecting]=false;
 
861
                                switch(currently_selecting) {
 
862
                                case 0:item[20]=true;
 
863
                                        break;
 
864
                                case 1:n_arrows+=50;
 
865
                                        break;
 
866
                                case 2:n_keys+=2;
 
867
                                        break;
 
868
                                } /* if */ 
 
869
                                Sound_play(S_item);
 
870
                        } else {
 
871
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
872
                                        Sound_play(S_nocoins);
 
873
                                        passage_state=1;
 
874
                                } /* if */ 
 
875
                        } /* if */ 
 
876
                
 
877
                } /* if */ 
 
878
        } /* if */ 
 
879
 
 
880
 
 
881
        if (map==0 && map_x==2 && map_y==5) {
 
882
                int price[3]={20,25,5};
 
883
 
 
884
                /* DETEMETER */ 
 
885
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
886
                tiles[154]->
 
887
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
888
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
889
 
 
890
                if (passage_state==0) {
 
891
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
892
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
893
                } else {
 
894
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
895
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
896
                } /* if */ 
 
897
                if (shop_item[0]) {
 
898
                        tiles[arrow_tile]->
 
899
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
900
                                         screen,col_buffer,dx,dy,dx);
 
901
                } /* if */ 
 
902
                if (shop_item[1]) {
 
903
                        tiles[items_tile]->
 
904
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
905
                                         screen,col_buffer,dx,dy,dx);
 
906
                } /* if */ 
 
907
                if (shop_item[2]) {
 
908
                        tiles[key_tile]->
 
909
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
910
                                         screen,col_buffer,dx,dy,dx);
 
911
                } /* if */ 
 
912
                tile_print("   20    25    05",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
913
 
 
914
                if (currently_selecting==0) {
 
915
                        tiles[152]->
 
916
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
917
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
918
                } /* if */ 
 
919
                if (currently_selecting==1) {
 
920
                        tiles[152]->
 
921
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
922
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
923
                } /* if */ 
 
924
                if (currently_selecting==2) {
 
925
                        tiles[152]->
 
926
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
927
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
928
                } /* if */ 
 
929
 
 
930
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
931
                        passage_state=0;
 
932
                        if (currently_selecting<2) {
 
933
                                currently_selecting++;
 
934
                                Sound_play(S_select);
 
935
                        } /* if */ 
 
936
                } /* if */ 
 
937
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
938
                        passage_state=0;
 
939
                        if (currently_selecting>0) {
 
940
                                currently_selecting--;
 
941
                                Sound_play(S_select);
 
942
                        } /* if */ 
 
943
                } /* if */ 
 
944
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
945
                        passage_state=0;
 
946
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
947
                                /* Comprar objeto: */ 
 
948
                                n_coins-=price[currently_selecting];
 
949
                                shop_item[currently_selecting]=false;
 
950
                                switch(currently_selecting) {
 
951
                                case 0:n_arrows+=50;
 
952
                                        break;
 
953
                                case 1:item[0]=true;
 
954
                                        break;
 
955
                                case 2:n_keys+=2;
 
956
                                        break;
 
957
                                } /* if */ 
 
958
                                Sound_play(S_item);
 
959
                        } else {
 
960
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
961
                                        Sound_play(S_nocoins);
 
962
                                        passage_state=1;
 
963
                                } /* if */ 
 
964
                        } /* if */  
 
965
 
 
966
                } /* if */ 
 
967
 
 
968
        } /* if */ 
 
969
 
 
970
 
 
971
        if (map==0 && map_x==12 && map_y==8) {
 
972
                int price[3]={20,40,5};
 
973
 
 
974
                /* ARES */ 
 
975
                tile_print("ARES",TILE_SIZE_X*18,TILE_SIZE_Y*5,screen,dx,dy);
 
976
                tiles[153]->
 
977
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
978
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
979
 
 
980
                if (passage_state==0) {
 
981
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
982
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
983
                } else {
 
984
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
985
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
986
                } /* if */ 
 
987
                if (shop_item[0]) {
 
988
                        tiles[arrow_tile]->
 
989
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
990
                                         screen,col_buffer,dx,dy,dx);
 
991
                } /* if */ 
 
992
                if (shop_item[1]) {
 
993
                        tiles[items_tile+31]->
 
994
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
995
                                         screen,col_buffer,dx,dy,dx);
 
996
                } /* if */ 
 
997
                if (shop_item[2]) {
 
998
                        tiles[key_tile]->
 
999
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
1000
                                         screen,col_buffer,dx,dy,dx);
 
1001
                } /* if */ 
 
1002
                tile_print("   20    40    05",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
1003
 
 
1004
                if (currently_selecting==0) {
 
1005
                        tiles[152]->
 
1006
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1007
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1008
                } /* if */ 
 
1009
                if (currently_selecting==1) {
 
1010
                        tiles[152]->
 
1011
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1012
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1013
                } /* if */ 
 
1014
                if (currently_selecting==2) {
 
1015
                        tiles[152]->
 
1016
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1017
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1018
                } /* if */ 
 
1019
 
 
1020
 
 
1021
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
1022
                        passage_state=0;
 
1023
                        if (currently_selecting<2) {
 
1024
                                currently_selecting++;
 
1025
                                Sound_play(S_select);
 
1026
                        } /* if */ 
 
1027
                } /* if */ 
 
1028
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
1029
                        passage_state=0;
 
1030
                        if (currently_selecting>0) {
 
1031
                                currently_selecting--;
 
1032
                                Sound_play(S_select);
 
1033
                        } /* if */ 
 
1034
                } /* if */ 
 
1035
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
1036
                        passage_state=0;
 
1037
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
1038
                                /* Comprar objeto: */ 
 
1039
                                n_coins-=price[currently_selecting];
 
1040
                                shop_item[currently_selecting]=false;
 
1041
                                switch(currently_selecting) {
 
1042
                                case 0:n_arrows+=50;
 
1043
                                        break;
 
1044
                                case 1: item[27]=false;
 
1045
                                                item[30]=false;
 
1046
                                                item[31]=true;
 
1047
                                        break;
 
1048
                                case 2:n_keys+=2;
 
1049
                                        break;
 
1050
                                } /* if */ 
 
1051
                                Sound_play(S_item);
 
1052
                        } else {
 
1053
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
1054
                                        Sound_play(S_nocoins);
 
1055
                                        passage_state=1;
 
1056
                                } /* if */ 
 
1057
                        } /* if */ 
 
1058
 
 
1059
                } /* if */ 
 
1060
 
 
1061
        } /* if */ 
 
1062
 
 
1063
 
 
1064
        if (map==0 && map_x==8 && map_y==1) {
 
1065
                int price[3]={20,50,5};
 
1066
 
 
1067
                /* ARES */ 
 
1068
                tile_print("ARES",TILE_SIZE_X*18,TILE_SIZE_Y*5,screen,dx,dy);
 
1069
                tiles[153]->
 
1070
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1071
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1072
 
 
1073
                if (passage_state==0) {
 
1074
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1075
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1076
                } else {
 
1077
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1078
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1079
                } /* if */ 
 
1080
                if (shop_item[0]) {
 
1081
                        tiles[arrow_tile]->
 
1082
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
1083
                                         screen,col_buffer,dx,dy,dx);
 
1084
                } /* if */ 
 
1085
                if (shop_item[1]) {
 
1086
                        tiles[items_tile+27]->
 
1087
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
1088
                                         screen,col_buffer,dx,dy,dx);
 
1089
                } /* if */ 
 
1090
                if (shop_item[2]) {
 
1091
                        tiles[key_tile]->
 
1092
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
1093
                                         screen,col_buffer,dx,dy,dx);
 
1094
                } /* if */ 
 
1095
                tile_print("   20    50    05",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
1096
 
 
1097
                if (currently_selecting==0) {
 
1098
                        tiles[152]->
 
1099
                                draw(GAME_VIEW_X+9*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1100
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1101
                } /* if */ 
 
1102
                if (currently_selecting==1) {
 
1103
                        tiles[152]->
 
1104
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1105
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1106
                } /* if */ 
 
1107
                if (currently_selecting==2) {
 
1108
                        tiles[152]->
 
1109
                                draw(GAME_VIEW_X+21*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1110
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1111
                } /* if */ 
 
1112
 
 
1113
 
 
1114
                if (keyboard[RIGHT_KEY] && !old_keyboard[RIGHT_KEY]) {
 
1115
                        passage_state=0;
 
1116
                        if (currently_selecting<2) {
 
1117
                                currently_selecting++;
 
1118
                                Sound_play(S_select);
 
1119
                        } /* if */ 
 
1120
                } /* if */ 
 
1121
                if (keyboard[LEFT_KEY] && !old_keyboard[LEFT_KEY]) {
 
1122
                        passage_state=0;
 
1123
                        if (currently_selecting>0) {
 
1124
                                currently_selecting--;
 
1125
                                Sound_play(S_select);
 
1126
                        } /* if */ 
 
1127
                } /* if */ 
 
1128
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
1129
                        passage_state=0;
 
1130
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
1131
                                /* Comprar objeto: */ 
 
1132
                                n_coins-=price[currently_selecting];
 
1133
                                shop_item[currently_selecting]=false;
 
1134
                                switch(currently_selecting) {
 
1135
                                case 0:n_arrows+=50;
 
1136
                                        break;
 
1137
                                case 1: item[27]=true;
 
1138
                                                item[30]=false;
 
1139
                                                item[31]=false;
 
1140
                                        break;
 
1141
                                case 2:n_keys+=2;
 
1142
                                        break;
 
1143
                                } /* if */ 
 
1144
                                Sound_play(S_item);
 
1145
                        } else {
 
1146
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
1147
                                        Sound_play(S_nocoins);
 
1148
                                        passage_state=1;
 
1149
                                } /* if */ 
 
1150
                        } /* if */ 
 
1151
 
 
1152
                } /* if */ 
 
1153
 
 
1154
        } /* if */ 
 
1155
 
 
1156
 
 
1157
        if (map==0 && map_x==7 && map_y==7) {
 
1158
                /* ASCLEPIUS */ 
 
1159
                tile_print("ASCLEPIUS",TILE_SIZE_X*16,TILE_SIZE_Y*5,screen,dx,dy);
 
1160
                tiles[178]->
 
1161
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1162
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1163
 
 
1164
                tile_print("SEE A FAIRY TO",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1165
                tile_print("RESTORE YOUR",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1166
                tile_print("VITALITY.",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
1167
        } /* if */ 
 
1168
 
 
1169
        if (map==1) {
 
1170
                /* DEMETER en el mundo 1 */ 
 
1171
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1172
                tiles[154]->
 
1173
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1174
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1175
 
 
1176
                tile_print("TAKE A MINE WITH YOU",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1177
                tile_print("WHEN YOU GO TO",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1178
                tile_print("WORLD 4",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
1179
        } /* if */ 
 
1180
 
 
1181
        if (map==2) {
 
1182
                /* ATHENA en el mundo 2 */ 
 
1183
                tile_print("ATHENA",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1184
                tiles[161]->
 
1185
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1186
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1187
 
 
1188
                tile_print("HIT THE WALL WITH",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1189
                tile_print("YOURE SWORD IF YOU",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1190
                tile_print("WANT TO GO TO THE",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
1191
                tile_print("OPPOSITE SHORE.",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
1192
        } /* if */ 
 
1193
 
 
1194
        if (map==3) {
 
1195
                /* ATHENA en el mundo 3 */ 
 
1196
                tile_print("ATHENA",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1197
                tiles[161]->
 
1198
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1199
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1200
 
 
1201
                tile_print("APHRODITE.DO NOT BE",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1202
                tile_print("AFRAID OF WATER.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1203
        } /* if */ 
 
1204
 
 
1205
        if (map==4) {
 
1206
                /* DEMETER en el mundo 4 */ 
 
1207
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1208
                tiles[154]->
 
1209
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1210
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1211
 
 
1212
                tile_print("THE PURE WATER IS",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1213
                tile_print("INSIDE THE WALL.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1214
        } /* if */ 
 
1215
 
 
1216
        if (map==5) {
 
1217
                int price[1]={30};
 
1218
 
 
1219
                /* DETEMETER */ 
 
1220
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1221
                tiles[154]->
 
1222
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1223
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1224
 
 
1225
                if (passage_state==0) {
 
1226
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1227
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1228
                } else {
 
1229
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1230
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1231
                } /* if */ 
 
1232
                if (shop_item[0]) {
 
1233
                        tiles[items_tile+3]->
 
1234
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
1235
                                         screen,col_buffer,dx,dy,dx);
 
1236
                } /* if */ 
 
1237
                tile_print("         30",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
1238
 
 
1239
                if (currently_selecting==0) {
 
1240
                        tiles[152]->
 
1241
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1242
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1243
                } /* if */ 
 
1244
 
 
1245
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
1246
                        passage_state=0;
 
1247
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
1248
                                /* Comprar objeto: */ 
 
1249
                                n_coins-=price[currently_selecting];
 
1250
                                shop_item[currently_selecting]=false;
 
1251
                                item[3]=true;
 
1252
                                Sound_play(S_item);
 
1253
                        } else {
 
1254
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
1255
                                        Sound_play(S_nocoins);
 
1256
                                        passage_state=1;
 
1257
                                } /* if */ 
 
1258
                        } /* if */  
 
1259
 
 
1260
                } /* if */ 
 
1261
 
 
1262
        } /* if */ 
 
1263
 
 
1264
        if (map==6) {
 
1265
                /* ATHENA en el mundo 6 */ 
 
1266
                tile_print("ATHENA",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1267
                tiles[161]->
 
1268
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1269
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1270
 
 
1271
                tile_print("HIT THE WALL WHEN",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1272
                tile_print("YOU ARE HALFWAY OF",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1273
                tile_print("THE STAIRS.",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
1274
        } /* if */ 
 
1275
 
 
1276
        if (map==7) {
 
1277
                /* DEMETER en el mundo 7 */ 
 
1278
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1279
                tiles[154]->
 
1280
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1281
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1282
 
 
1283
                tile_print("FIND THE SPELL",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1284
                tile_print("WRITTEN ON A STONE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1285
                tile_print("MONUMENT UNDER THE",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
1286
                tile_print("WATER.",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
1287
        } /* if */ 
 
1288
 
 
1289
        if (map==8) {
 
1290
                int price[1]={30};
 
1291
 
 
1292
                /* DETEMETER */ 
 
1293
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1294
                tiles[154]->
 
1295
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1296
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1297
 
 
1298
                if (passage_state==0) {
 
1299
                        tile_print("YOU CAN BUY SOME OF",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1300
                        tile_print("MY TREASURE",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1301
                } else {
 
1302
                        tile_print("COINS ARE NOT",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1303
                        tile_print("ENOUGH.",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1304
                } /* if */ 
 
1305
                if (shop_item[0]) {
 
1306
                        tiles[items_tile+11]->
 
1307
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+7*TILE_SIZE_Y,
 
1308
                                         screen,col_buffer,dx,dy,dx);
 
1309
                } /* if */ 
 
1310
                tile_print("         30",TILE_SIZE_X*10,TILE_SIZE_Y*13,screen,dx,dy);
 
1311
 
 
1312
                if (currently_selecting==0) {
 
1313
                        tiles[152]->
 
1314
                                draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+12*TILE_SIZE_Y,
 
1315
                                        TILE_SIZE_X,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1316
                } /* if */ 
 
1317
 
 
1318
                if (keyboard[SWORD_KEY] && !old_keyboard[SWORD_KEY]) {
 
1319
                        passage_state=0;
 
1320
                        if (n_coins>=price[currently_selecting] && shop_item[currently_selecting]) {
 
1321
                                /* Comprar objeto: */ 
 
1322
                                n_coins-=price[currently_selecting];
 
1323
                                shop_item[currently_selecting]=false;
 
1324
                                item[11]=true;
 
1325
                                Sound_play(S_item);
 
1326
                        } else {
 
1327
                                if (shop_item[currently_selecting] && n_coins<price[currently_selecting]) {
 
1328
                                        Sound_play(S_nocoins);
 
1329
                                        passage_state=1;
 
1330
                                } /* if */ 
 
1331
                        } /* if */  
 
1332
 
 
1333
                } /* if */ 
 
1334
 
 
1335
        } /* if */ 
 
1336
 
 
1337
 
 
1338
        if (map==9) {
 
1339
                /* DEMETER en el mundo 9 */ 
 
1340
                tile_print("DEMETER",TILE_SIZE_X*17,TILE_SIZE_Y*5,screen,dx,dy);
 
1341
                tiles[154]->
 
1342
                        draw(GAME_VIEW_X+15*TILE_SIZE_X,GAME_VIEW_Y+2*TILE_SIZE_Y,
 
1343
                                        TILE_SIZE_X*2,TILE_SIZE_Y*2,screen,col_buffer,dx,dy,dx);
 
1344
 
 
1345
                tile_print("A GATE WHICH LEADS",TILE_SIZE_X*10,TILE_SIZE_Y*9,screen,dx,dy);
 
1346
                tile_print("TO GALIOUS WILL",TILE_SIZE_X*10,TILE_SIZE_Y*10,screen,dx,dy);
 
1347
                tile_print("APPEAR SOMEWHERE IN",TILE_SIZE_X*10,TILE_SIZE_Y*11,screen,dx,dy);
 
1348
                tile_print("THE CASTLE.",TILE_SIZE_X*10,TILE_SIZE_Y*12,screen,dx,dy);
 
1349
        } /* if */ 
 
1350
 
 
1351
} /* passage_mainloop */ 
 
1352