⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.h

📁 俄罗斯方块程序源码
💻 H
字号:

// Grids = 12 * 20 
// Grain = 16
// width : 192
// height: 320

// const 
#define GRAIN_WIDTH   16
#define GRAIN_HEIGHT  16
#define SCENE_WIDTH   GRAIN_WIDTH * 12 // 12*16
#define SCENE_HEIGHT  GRAIN_HEIGHT * 20 // 20*16
#define MAX_COLOR     4 
#define MAGRIN_TOP    8
#define MAGRIN_LEFT   8 
#define MAX_SHEET     7
#define TIME_MOVE     80
#define KEY_PROC_TIME_INTERVAL 50

typedef struct{
	int  x,y;
	BYTE CurrSheet[4][4];
	int  CurrColor;
	int  NextSheet;
	int  NextColor;
	int  Level;
	int  Speed;
    DWORD  dwScore1;
    DWORD  dwScore2;
	DWORD  dwTimeLamp;
}CPlayer;

typedef struct{
	BOOL   KeyUpDown;
    DWORD  dwTimeUpDown;
	BOOL   KeyDownDown;
    DWORD  dwTimeDDown;
	BOOL   KeyLeftDown;
    DWORD  dwTimeLeftDown;
	BOOL   KeyRightDown;
    DWORD  dwTimeRightDown;
} CKeyState;

enum CGameState{
	GS_NONE = 0,
	GS_PLAY,
	GS_SUSPEND,
	GS_GAMEOVER
};

// public value
BYTE Sheet1[4][4] ={{1,0,0,0},
					{1,0,0,0},
					{1,0,0,0},
					{1,0,0,0}};

BYTE Sheet2[4][4] ={{1,1,0,0},
					{1,1,0,0},
					{0,0,0,0},
					{0,0,0,0}};

BYTE Sheet3[4][4] ={{0,1,0,0},
					{1,1,0,0},
					{1,0,0,0},
					{0,0,0,0}};

BYTE Sheet4[4][4] ={{1,0,0,0},
					{1,1,0,0},
					{0,1,0,0},
					{0,0,0,0}};

BYTE Sheet5[4][4] ={{1,0,0,0},
					{1,1,0,0},
					{1,0,0,0},
					{0,0,0,0}};

BYTE Sheet6[4][4] ={{1,1,0,0},
					{1,0,0,0},
					{1,0,0,0},
					{0,0,0,0}};

BYTE Sheet7[4][4] ={{1,1,0,0},
					{0,1,0,0},
					{0,1,0,0},
					{0,0,0,0}};

HINSTANCE hInst;
HWND      hWnd;
HDC       hDc; 
HDC       hBackDc;
HBITMAP   hBackBmp;
HDC       hImagesDc;
HBITMAP   hImagesBmp;
HBITMAP   hNextBmp;
HDC       hNextDc;
CGameState       GameState;
BOOL      bActive;
void *    SheetsAddrTab[7];
char *    szAppName = "Russia\0";
CPlayer   Player;
CKeyState KeyState;
BYTE      Map[12][20];

BOOL CALLBACK DlgProc(HWND hDlg,UINT uMsg,WPARAM wParam,LPARAM lParam);
int  GameLoop();
BOOL InitApplication();
BOOL FreeApplication();
int  KeyProc();
int  DrawMap();
int  Flip();
int  CheckDrop();
int  NewGame();
int  SuspendGame();
int  ResumeGame();
int  ShiftSheet();
BOOL CheckCurrSheet();
int  ClearRow();
BOOL CheckOver();
int  DrawNext();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -