俄罗斯方块分析和总结.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

/*

*俄罗斯方块源程序

*/

#includestdio.h#includestdlib.h#includedos.h

#includegraphics.h/*图形函数库*/

/*定义按键码*/

#defineVK_LEFT 0x4b00#defineVK_RIGHT0x4d00#defineVK_DOWN 0x5000#defineVK_UP 0x4800#defineVK_ESC 0x011b

#defineTIMER0x1c /*设置中断号*/

/*定义常量*/

#defineMAX_BOX19 /*总共有19种各形态的方块*/#defineBSIZE20 /*方块的边长是20个象素*/#defineSys_x160 /*显示方块界面的左上角x座标*/#defineSys_y25 /*显示方块界面的左上角y座标*/#defineHorizontal_boxs10 /*水平的方向以方块为单位的长度*/

#defineVertical_boxs15 /*垂直的方向以方块为单位的长度,也就说长是15个方块*/#defineBegin_boxs_xHorizontal_boxs/2 /*产生第一个方块时出现的起始位置*/

#defineFgColor3 /*前景颜色,如文字.2-green*/#defineBgColor0 /*背景颜色.0-blac*/

#defineLeftWin_xSys_x+Horizontal_boxs*BSIZE+46 /*右边状态栏的x座标*/#definefalse0

#definetrue1

/*移动的方向*/#defineMoveLeft1

#defineMoveRight2

#defineMoveDown3

#defineMoveRoll4

/*以后坐标的每个方块可以看作是像素点是BSIZE*BSIZE的正方形*/

/*定义全局变量*/

intcurrent_box_numb; /*保存当前方块编号*/

intCurbox_x=Sys_x+Begin_boxs_x*BSIZE,Curbox_y=Sys_y;/*x,y是保存方块的当前坐标的*/intflag_newbox=false; /*是否要产生新方块的标记0*/

intspeed=0; /*下落速度*/

intscore=0; /*总分*/

intspeed_step=30; /*每等级所需要分数*/

voidinterrupt(*oldtimer)(void);/*指向原来时钟中断处理过程入口的中断处理函数指针*/

structBOARD /*游戏底板结构,表示每个点所具有的属性*/

{

intvar; /*当前状态只有0和1,1表示此点已被占用*/

intcolor; /*颜色,游戏底板的每个点可以拥有不同的颜色.增强美观*/

}Table_board[Vertical_boxs][Horizontal_boxs];

/*方块结构*/structSHAPE

{

charbox[2]; /*一个字节等于8位,每4位来表示一个方块的一行

如:box[0]=0x88,box[1]=0xc0表示的是:1000

1000

1100

0000*/

intcolor; /*每个方块的颜色*/

intnext; /*下个方块的编号*/

};

/*初始化方块内容.即定义MAX_BOX个SHAPE类型的结构数组,并初始化*/structSHAPEshapes[MAX_BOX]=

{

/*

*

*

*

口口口

口口口

口口

口口

口口口

*/

{0x88,

0xc0,

CYAN,

1},

{0xe8,

0x0,

CYAN,

2},

{0xc4,

0x40,

CYAN,

3},

{0x2e,

0x0,

CYAN,

0},

/*

*

口 口口口口口

*

口口 口 口

*

*/

口口口口口口

{0x44, 0xc0, MAGENTA,

5},

{0x8e, 0x0, MAGENTA,

6},

{0xc8, 0x80, MAGENTA,

7},

{0xe2, 0x0, MAGENTA, 4},

/*

口口 口口

*

*/

{0x8c,

0x40,

口口

YELLOW,9},

{0x6c,

0x0,

YELLOW,8},

/*

*

口口

*

*

*/

口口口

口口

{0x4c,

{0xc6,

0x80,

0x0,

BROWN,BROWN,

11},

10},

/*

*

*

*

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档