Subversion Repositories Kolibri OS

Rev

Rev 1811 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
950 leency 1
 
1808 Albom 2
#include "system/stdlib.h"
3
#include "system/string.h"
4
950 leency 5
 
1808 Albom 6
950 leency 7
 
8
#include "car_02.h"
9
#include "donkey_01.h"
10
#include "donkey_02.h"
11
#include "az.h"
12
13
 
1811 yogev_ezra 14
950 leency 15
 
16
int dox, doy;
17
int drx, dry;
18
19
 
20
21
 
22
23
 
1811 yogev_ezra 24
char snd_game_over[]={0x08, 0xa9, 0x0f, 0x09, 0x99, 0x0f, 0x11, 0x59, 0x0f, 0};
25
950 leency 26
 
1811 yogev_ezra 27
 
950 leency 28
29
 
30
 
31
{
32
gb_image_set_t(&screen, x, y, &az, (c-'!')*11, 0, 11, 16, 0);
33
}
34
35
 
36
 
37
 
38
{
39
unsigned i;
40
i = 0;
41
while (*(s+i))
42
	{
43
	az_putc(*(s+i), x+i*11, y);
44
	i++;
45
	}
46
47
 
48
49
 
50
 
51
 
52
{
53
drx = -1;
54
dry = 0;
55
doy = random(40)+130;
56
57
 
58
if (0 == dox)
59
	dox--;
60
61
 
62
paintbg = 1;
63
64
 
65
66
 
67
}
68
69
 
70
 
71
{
72
73
 
74
75
 
76
gb_bar(&screen, 183, 6, 305-183, 195-6, 0x488888);
77
78
 
79
az_puts("Driver", 189, 30);
80
81
 
82
az_putc (drn/10+'0', 189, 48);
83
84
 
85
az_puts("Space Bar", 189, 116);
86
az_puts("Enter", 189, 132);
87
az_puts("Esc", 189, 148);
88
89
 
90
 
91
gb_line(&screen, 180, 0, 180, 199, 0xffffff);
92
93
 
94
}
95
96
 
97
 
98
 
99
{
100
101
 
102
103
 
104
	{
105
	screen_back();
106
107
 
108
	az_puts ("P A U S E", 5, 30);
109
	az_puts ("Press Enter to continue", 5, 60);
110
111
 
112
	kol_paint_image( 0, 0, 320, 200, screen.bmp);
113
114
 
115
	return;
116
	}
117
118
 
119
	{
120
	gb_bar(&screen, 0, 0, 320, 200, 0x880000);
121
	az_puts ("G A M E    O V E R", 5, 30);
122
123
 
124
	kol_paint_image( 0, 0, 320, 200, screen.bmp);
125
126
 
127
	game_start();
128
	start = 1;
129
	}
130
131
 
132
	{
133
	gb_bar(&screen, 0, 0, 320, 200, 0x88);
134
	az_puts ("CONGRATULATIONS !!!", 5, 30);
135
136
 
137
	kol_paint_image( 0, 0, 320, 200, screen.bmp);
138
139
 
140
	game_start();
141
	start = 1;
142
	}
143
144
 
145
	speed = 1;
146
147
 
148
	speed = 2;
149
150
 
151
 
152
	{
153
	if (!paintbg)
154
		return;
155
156
 
157
158
 
159
	az_puts ("remake for KolibriOS", 5, 78);
160
	az_puts ("by Albom", 5, 78+16);
161
162
 
163
	az_puts ("to continue", 5, 156);
164
165
 
166
 
167
	kol_paint_image( 0, 0, 320, 200, screen.bmp);
168
	paintbg = 0;
169
	return;
170
	}
171
172
 
173
	screen_back();
174
else
175
	gb_bar(&screen, 102, 0, 180-102, 200, 0x888888);
176
177
 
178
	gb_line(&screen, 140, y-10*(doy%2), 140, y+10-10*(doy%2), 0xffffff);
179
180
 
181
if (doy < -50)
182
	{
183
184
 
185
	if (0 == dox)
186
		dox--;
187
188
 
189
	dry += 10;
190
	drn++;
191
	if (0 == drn%10)
192
		dry = 0;
193
	paintbg = 1;
194
	}
195
196
 
197
	{
198
	kol_sound_speaker(snd_game_over);
1811 yogev_ezra 199
	don++;
950 leency 200
	dry = 0;
201
	drn /= 10;
202
	drn *= 10;
203
	for (y = 0; y<2; y++)
204
		{
205
		kol_sleep(8);
206
		screen_back();
207
		az_puts("BOOM!", 6, 120);
208
209
 
210
		gb_image_set_t(&screen, 120+(y+3)*20, 120-dry+(y+1)*20, &car02, 0, 0, 13, 34, 0x888888);
211
212
 
213
		gb_image_set_t(&screen, 140+(y+3)*20, 120-(y+1)*20, &donkey02, 0, 0, 13, 17, 0x888888);
214
215
 
216
		kol_paint_image(0, 0, 320, 200, screen.bmp);
217
		}
218
219
 
220
	if (0 == dox)
221
		dox--;
222
223
 
224
	paintbg = 1;
225
	}
226
227
 
228
gb_image_set_t(&screen, 140-drx*20, 130-dry, &car02, 0, 0, 13, 34, 0x888888);
229
230
 
231
gb_image_set_t(&screen, 140-dox*20, 130-doy, &donkey02, 0, 0, 13, 17, 0x888888);
232
233
 
234
kol_paint_image(0, 0, 320, 200, screen.bmp);
235
236
 
237
238
 
239
 
240
 
241
{
242
kol_paint_start();
243
kol_wnd_define(280, 200, 328, 204+kol_skin_height(), 0x34888888, 0x34888888, STR_DONKEY);
2829 Albom 244
screen_draw();
950 leency 245
kol_paint_end();
246
}
247
248
 
249
 
250
 
251
 
252
{
253
254
 
255
unsigned key;
256
257
 
258
start = 1;
259
paintbg = 1;
260
261
 
262
263
 
264
265
 
266
screen.w = 320;
267
screen.h = 200;
268
269
 
270
car01.w = 13;
271
car01.h = 34;
272
273
 
274
car02.w = 13;
275
car02.h = 34;
276
277
 
278
donkey01.w = 17;
279
donkey01.h = 17;
280
281
 
282
donkey02.w = 13;
283
donkey02.h = 17;
284
285
 
286
az.w = 1012;
287
az.h = 16;
288
289
 
290
 
291
292
 
293
	{
294
295
 
296
	screen_draw();
297
	event = kol_event_check();
298
299
 
300
		{
301
		case 1:
302
			paintbg = 1;
303
			wnd_draw();
304
			break;
305
306
 
307
			key = (kol_key_get() & 0xff00)>>8;
308
			if (start && (32==key))
309
				{
310
				start = 0;
311
				game_start();
312
				screen_draw();
313
				break;
314
				}
315
316
 
317
				{
318
				if (-1 == pause)
319
					break;
320
				start = 1;
321
				paintbg = 1;
322
				break;
323
				}
324
325
 
326
				{
327
				if (-1 == pause)
328
					break;
329
1811 yogev_ezra 330
 
331
332
 
950 leency 333
				screen_draw();
334
				}
335
336
 
337
				{
338
				pause *= -1;
339
				screen_draw();
340
				}
341
342
 
343
 
344
345
 
346
			if ( 1 == (kol_btn_get() & 0xff00)>>8 )
347
				kol_exit();
348
			break;
349
350
 
351
	}
352
353
 
354
start>