Subversion Repositories Kolibri OS

Rev

Rev 2282 | Rev 2295 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2282 Rev 2283
Line 1... Line 1...
1
//Leency 06.10.2011, Flood-it! v2.1, GPL
1
//Leency 06.10.2011, Flood-it! v2.2, GPL
Line 2... Line 2...
2
 
2
 
3
#include "lib\kolibri.h" 
3
#include "lib\kolibri.h" 
Line 4... Line 4...
4
#include "lib\random.h"
4
#include "lib\random.h"
Line 29... Line 29...
29
dword FIELD_COLORS[]= {0xf18db6, 0x605ca8, 0xfddc80, 0xdc4a20, 0x46b1e2, 0x7e9d1e,   0x232323, 0};
29
dword FIELD_COLORS[]= {0xf18db6, 0x605ca8, 0xfddc80, 0xdc4a20, 0x46b1e2, 0x7e9d1e,   0x232323, 0};
30
char *BOARD_SIZES[]={ "S", "L", 0 };
30
char *BOARD_SIZES[]={ "S", "L", 0 };
Line 31... Line 31...
31
 
31
 
32
 
32
 
33
#ifdef LANG_RUS
33
#ifdef LANG_RUS
34
	char *BUTTON_CAPTIONS[]={ " ®¢ ï  [F2]", " ®¬®éì [F1]", " ‚ë室 [Esc]", 0}; 
34
	char *BUTTON_CAPTIONS[]={ " ‡ ­®¢® [F2]", " ®¬®éì [F1]", " ‚ë室 [Esc]", 0}; 
Line 35... Line 35...
35
	char CLICKS_TEXT[]=" Š«¨ª¨:   /";
35
	char CLICKS_TEXT[]=" Š«¨ª¨:   /";
36
	char LEVELS_TEXT[]="®«¥:";
36
	char LEVELS_TEXT[]="®«¥:";
Line 70... Line 70...
70
	"[A] [S] [D]",
70
	"[A] [S] [D]",
71
	0}; 
71
	0}; 
72
#endif
72
#endif
Line 73... Line 73...
73
 
73
 
Line 74... Line 74...
74
 
74
 
75
int color_matrix[28*28]; //öâåòà äëÿ ïîëÿ ñ êâàäðàòèêàìè
75
unsigned char color_matrix[28*28]; //öâåòà äëÿ ïîëÿ ñ êâàäðàòèêàìè
76
 
76
 
77
int loose_matrix[14*14]={
77
unsigned char loose_matrix[14*14]={
78
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
78
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
79
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
79
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
Line 89... Line 89...
89
2, 3, 2, 2, 2, 3, 2, 3, 2, 3, 2, 3, 3, 2,
89
2, 3, 2, 2, 2, 3, 2, 3, 2, 3, 2, 3, 3, 2,
90
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
90
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
91
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
91
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
92
};
92
};
Line 93... Line 93...
93
 
93
 
94
int win_matrix[14*14]={
94
unsigned char win_matrix[14*14]={
95
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
95
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
96
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
96
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
97
4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 4, 1, 4,
97
4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 4, 1, 4,
98
4, 1, 4, 1, 4, 1, 4, 4, 4, 1, 4, 4, 1, 4,
98
4, 1, 4, 1, 4, 1, 4, 4, 4, 1, 4, 4, 1, 4,
Line 121... Line 121...
121
			case evButton:
121
			case evButton:
122
				id = GetButtonID(); 
122
				id = GetButtonID(); 
123
				IF (id==1) || (id==4) ExitProcess();
123
				IF (id==1) || (id==4) ExitProcess();
124
				IF (id==2) goto _NEW_GAME_MARK;
124
				IF (id==2) goto _NEW_GAME_MARK;
125
				IF (id==3) goto _HELP_MARK;
125
				IF (id==3) goto _HELP_MARK;
-
 
126
				IF (id>=100)
-
 
127
				{
126
				IF (id>=100) make_turn(id-100);
128
					make_turn(id-100);
-
 
129
					break;
-
 
130
				}
127
				if (id>=10)
131
				if (id>=10)
128
				{
132
				{
129
					id=id-10*3;
133
					id=id-10*3;
Line 130... Line 134...
130
					
134
					
Line 238... Line 242...
238
}
242
}
Line 239... Line 243...
239
 
243
 
240
 
244
 
241
void new_game()
245
void new_game()
242
{
-
 
243
	int i, j;
-
 
Line 244... Line 246...
244
	
246
{
Line 245... Line 247...
245
	//randomize();
247
	int i;
246
 
-
 
247
	CLICKS = 0;
248
	
248
	
249
	CLICKS = 0;
Line 249... Line 250...
249
	for (i=0;i
250
	
250
		for (j=0;j
251
	for (i=0;i
251
			color_matrix[i*BLOCKS_NUM+j] = random(6);
252
			color_matrix[i] = random(6);
252
}
253
}
253
 
254
 
254
 
255
 
Line 255... Line 256...
255
void fill_field(int new_color_id)
256
void fill_field(int new_color_id)
Line 278... Line 279...
278
			
279
			
279
			IF (color_matrix[i*BLOCKS_NUM+j]==MARKED) restart=1; //åñëè ôèøêó îòìåòèëè, òî ïîòîì öèêë íóæíî áóäåò ïðîêðóòèòü ñíà÷àëà - ìîæ åù¸ ÷¸ îòìåòèì
280
			IF (color_matrix[i*BLOCKS_NUM+j]==MARKED) restart=1; //åñëè ôèøêó îòìåòèëè, òî ïîòîì öèêë íóæíî áóäåò ïðîêðóòèòü ñíà÷àëà - ìîæ åù¸ ÷¸ îòìåòèì
280
		}
281
		}
Line 281... Line 282...
281
	IF (restart) goto _RESTART_MARK;
282
	IF (restart) goto _RESTART_MARK;
282
 
-
 
283
	for (i=0;i
283
 
284
		for (j=0;j
284
	for (i=0;i
Line 285... Line 285...
285
			IF (color_matrix[i*BLOCKS_NUM+j]==MARKED)	color_matrix[i*BLOCKS_NUM+j]=new_color_id;
285
			IF (color_matrix[i]==MARKED) color_matrix[i]=new_color_id;
286
}
286
}
Line 292... Line 292...
292
 
292
 
293
	if (CLICKS>=MAX_CLICKS) //åñëè ïðîèãðûø
293
	if (CLICKS>=MAX_CLICKS) //åñëè ïðîèãðûø
294
	{
294
	{
295
		IF (CLICKS==MAX_CLICKS) //âûèãðûøü íà ïîñëåäíåì õîäå
295
		IF (CLICKS==MAX_CLICKS) //âûèãðûøü íà ïîñëåäíåì õîäå
296
		{
296
		{
297
			for (i=0;i
-
 
298
				for (j=0;j
297
			for (i=0;i
299
					IF (color_matrix[i*BLOCKS_NUM+j]<>color_matrix[0]) goto _LOOSE_MARK;
298
					IF (color_matrix[i]<>color_matrix[0]) goto _LOOSE_MARK;
300
			goto _WIN_MARK;
299
			goto _WIN_MARK;
Line 301... Line 300...
301
		}
300
		}
Line 324... Line 323...
324
			}	
323
			}	
Line 325... Line 324...
325
			
324
			
326
		return 1;
325
		return 1;
Line 327... Line 326...
327
	}
326
	}
328
	
-
 
329
	for (i=0;i
327
	
Line 330... Line 328...
330
		for (j=0;j
328
	for (i=0;i
Line 331... Line 329...
331
			IF (color_matrix[i*BLOCKS_NUM+j]<>color_matrix[0]) return 0;
329
			IF (color_matrix[i]<>color_matrix[0]) return 0;