Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
zmx0142857
GitHub Repository: zmx0142857/mini-games
Path: blob/master/c/sokoban/0.1/sokoban.h
362 views
1
#ifndef SOKOBAN_H
2
#define SOKOBAN_H
3
4
//��
5
#include<stdio.h> //printf();scanf();
6
#include<conio.h> //getche();
7
#include<windows.h> //GetStdHandle();
8
9
//��
10
#define MAX_LEVEL 50
11
#define MAP_W 17
12
#define MAP_H 13
13
14
#define NOTHING 0
15
#define WALL 1
16
#define HERO 2
17
#define BOX 3
18
#define BOX_IN_PLACE 4
19
#define STAR 5
20
#define DOOR 6
21
22
#define Hero_x Hero[0]
23
#define Hero_y Hero[1]
24
#define Door_x Door[0]
25
#define Door_y Door[1]
26
27
#define TextColor(MyColor) SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), MyColor )
28
#define BRIGHT FOREGROUND_INTENSITY
29
#define RED FOREGROUND_RED
30
#define GREEN FOREGROUND_GREEN
31
#define BLUE FOREGROUND_BLUE
32
33
//����ȫ�ֱ���
34
extern int Map[13][17]; //��ͼ
35
extern int MapCopy[13][17]; //��ͼ�ĸ��������ڻ�ԭ��Ĩȥ�����μǺ�
36
extern int Hero[2]; //�˵ĺ�������ֱ���Hero[0],Hero[1]
37
extern int Door[2]; //�ŵĺ�������ֱ���Door[0],Door[1]
38
39
extern int nLevel; //��ǰ�ؿ�
40
extern int nMove; //�ƶ��Ĵ���
41
extern int nPush; //�����ӵĴ���
42
43
//����ȫ�ֺ���
44
extern void GoToLevel(int);
45
extern void Play();
46
extern void InitializeAll();
47
extern void PrintBoard();
48
extern int Control();
49
extern int Finish();
50
51
extern void Lv1();
52
extern void Lv2();
53
extern void Lv3();
54
extern void Lv4();
55
extern void Lv5();
56
extern void Lv6();
57
extern void Lv7();
58
extern void Lv8();
59
extern void Lv9();
60
extern void Lv10();
61
extern void Lv11();
62
extern void Lv12();
63
extern void Lv13();
64
extern void Lv14();
65
66
#endif
67
68