俄罗斯方块程序代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//包含头文件
#include
#include
#include
#include
#include
#include "Tetris.h"
//int score=0;
//int lever=1;
//char scores[10];
//char levers[10];
/*
enum cmd
{
round, //旋转方块
left, //左移方块
right, //右移方块
down, //下一方块
bottom, //方块沉底
quit //离开游戏
};
//定义绘制方块的状态的枚举类型
enum draw
{
show, //显示方块
hide //抹掉方块
};
//定义俄罗斯方块的结构体
struct block
{
int dir[4]; //方块的四个旋转的状态
int color; //方块的颜色
}*/
static T_TrsBlockStyle gz_tBlockStyleTab[7] =
{/* 口口
口口口口口口口口口口
口口
口口*/
{0x0F00, 0x4444, 0x0F00, 0x4444, RED},
/*
口口口口口口口口
口口口口口口口口
*/
{0x0660, 0x0660, 0x0660, 0x0660, BLUE},
/* 口
口口口口口口口
口口口口口口口
口*/
{0x4460, 0x02E0, 0x0622, 0x0740, MAGENTA},
/* 口
口口口口口口口
口口口口口口口
口*/
{0x2260, 0x0E20, 0x0644, 0x0470, YELLOW},
/* 口口
口口口口口口口口
口口口口口口
*/
{0x0C60, 0x2640, 0x0C60, 0x2640, CYAN},
/* 口口
口口口口口口口口
口口口口口口
*/
{0x0360, 0x4620, 0x0360, 0x4620, GREEN},
/* 口口口
口口口口口口口口口口
口口口
*/
{0x4E00, 0x4C40, 0x0E40, 0x4640, BROWN}};
/*
//定义俄罗斯方块的信息的结构体
struct blockinfo
{
int id; //7中方块中的哪一种
byte dir:2; //1种方块中四个方向中的哪个
char x,y; //方块的坐标(不是屏幕中的而是自己设置的游戏区域中的)}
curblock,nextblock;
*/
// 定义游戏区
//unsigned char area[width][high] = {0};
//函数声明
bool TRS_AppCreate(void ** ppUser,void * pFunc);
static void TRS_Init(void *pUser);
static void TRS_DrawBackground(void *pUser);
static void TRS_GameOver(void *pUser);
static void TRS_Quit(void *pUser);
static void TRS_ScoreShow(void *pUser);
static void TRS_NewGame(void *pUser);
static AEEEvent TRS_GetMsg(PCTetrisApp pMe);
static bool TRS_TetrisHandle(void *pUser, DWORD evt, WORD w,DWORD dw);
static void TRS_Newblock(void *pUser);
static void TRS_DrawBlock(void *pUser,T_TrsBlockInfo tCurBlck,EDrawStyle eStyle);
static bool TRS_Checkblock(void *pUser, T_TrsBlockInfo tCurBlck);
static void TRS_HRound(void *pUser);
static void TRS_HLeft(void *pUser);
static void TRS_HRight(void *pUser);
static void TRS_HDown(void *pUser);
static void TRS_HBottom(void *pUser);
/*------------------------------------------------------------------------------
函数名称:main
功能说明:主函数
参数说明:
作者:
时间:
-------------------------------------------------------------------------------*/
void main()
{
PCTetrisApp pMe;
AEEEvent eMsg;
//init();
TRS_AppCreate((void **)&pMe,NULL);
/*
while(true)
{
scoreshow();
c=getcmd();
discmd(c);
if (c == quit)
{
HWND wnd = GetHWnd();
if (MessageBox(wnd, _T("您要退出游戏吗?"), _T("提醒"), MB_OKCANCEL | MB_ICONQUESTION) == IDOK)
Quit();