📄 game.h
字号:
#if GAME_ENABLE
#ifdef _GAME_C_
#define _GAMEDEC_
#else
#define _GAMEDEC_ extern
#endif
/***************************定义方块的结构体*****************************/
typedef enum
{CP_Gameblock_I,
CP_Gameblock_O,
CP_Gameblock_SO,
CP_Gameblock_T,
CP_Gameblock_L,
CP_Gameblock_Z,
CP_MaxGameblock
} CP_GameblockType;
typedef struct
{BYTE type;/*方块的类型,共有I,O,T,L,J,Z,N七种类型*/
BYTE shape;/*每种方块的具体形状*/
BYTE x;/*方块最左上方的横坐标*/
BYTE y;/*方块最左上方的横坐标*/
BYTE color;/*方块的颜色*/
} Gameblock;
typedef enum _GameKeyControlStatus
{GK_GameKeyNop,
GK_GameKeyTurn,
GK_GameKeyDown,
GK_GameKeyLeft,
GK_GameKeyRight,
GK_MaxGameKeyOption
} GameKeyControlStatus;
typedef enum _GameStatus
{
GS_GameExit,
GS_GameStop,
GS_GameRunning,
GS_GameReStart,
GS_GameStatusNUMS
}GameStatus;
_GAMEDEC_ XDATA Gameblock g_GameNowBlock,g_GameNextBlock ;
//=========================Game option=======================================
_GAMEDEC_ bit g_bGameEnable;
_GAMEDEC_ BYTE XDATA g_ucGameStatus;
_GAMEDEC_ BYTE XDATA g_ucGameKeyControlStatus;
_GAMEDEC_ BOOL Game_initial(void);
_GAMEDEC_ BOOL Game_check_top(Gameblock nblock);/*判断方块是否到容器顶,也是游戏结束标志*/
_GAMEDEC_ BOOL Game_check_lborder(Gameblock nblock);/*判断方块是否到容器左边缘或左边已有别的方块*/
_GAMEDEC_ BOOL Game_check_rborder(Gameblock nblock);/*判断方块是否到容器右边缘或右边已有别的方块*/
_GAMEDEC_ BOOL Game_check_bottom(Gameblock nblock);/*判断方块是否到容器底或下方已有别的方块,有则返回1,否则返回0*/
_GAMEDEC_ BOOL Game_check_change(Gameblock nblock);/*判断方块是否能变化 */
_GAMEDEC_ BOOL Game_del_line(BYTE nline);/*判断一行是否已满,如满则消格,返回1,否则返回0*/
_GAMEDEC_ void Game_ini_grid(void);/*画容器里的格子*/
_GAMEDEC_ void Game_draw_block(Gameblock drblock);/*花方块*/
_GAMEDEC_ void Game_clear_block(Gameblock drblock);/*清除方块*/
_GAMEDEC_ void Game_draw_grid(Gameblock drblock);
_GAMEDEC_ void Game_draw_next(Gameblock drblock);/*在屏幕右上方显示下一个方块的信息*/
_GAMEDEC_ void Game_draw_score(void);/*打印分数和关数*/
_GAMEDEC_ void Game_draw_delline(BYTE nline,BOOL Line1,BOOL Line2,BOOL Line3);
_GAMEDEC_ void Game_restart(void);/*游戏结束后询问用户是退出还是重玩*/
_GAMEDEC_ Gameblock Game_createblock();/*随机产生一个新的方块*/
_GAMEDEC_ void Game_get_matrix(Gameblock nblock);
_GAMEDEC_ Gameblock Game_change(Gameblock nblock);/*旋转变换函数*/
_GAMEDEC_ void GameVariableInitial(void);
_GAMEDEC_ BOOL Game_Start(void);
_GAMEDEC_ void Gameprocess(void);
_GAMEDEC_ void GameHandle(void);
_GAMEDEC_ void GameOverCheck(void);
//==================================================================================
#define MinLine 0
#define MaxLine 13
#define MinColume 1
#define MaxColume 8
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -