建立下
转和移动
i
itMap函
一个;用ra
d
下落;用
数和void
()
与
rorate()
re
der绘
void
move()
图4函建数立整个函数re的bu流idN程ex图t如下与drop()
来实现开始界面
4
判断是否能继续下落;用i
ttest()函数来完成;
分数的改变与速度设置;用prscore()与spe()来完成
判断最后,游戏结束的操作;用
prscore()和界面设置完成
f时间指针设定
随机出示方块,并显示下个方块
实现方块的旋转,移动
判断是否到底
N
Y
加分,速度设置
Y
判断是否已满
N
打印分数,结束处理游戏结束
5
f流程简介:玩家定义游戏开始,游戏显示开始界面,时针已经设定好,然后随机出示方块,玩家进行方块的旋转,左右移动,和下落控制,然后在旁边的表格中出示另一个表格显示下一个即将下落的方块,然后判断是否到达底部,若到,继续出示方块,若没,则可继续变换,下落到低端后在进行判断,是否可以消除该行,再进行分数的变换,速度的调整,然后判断是否已经满,若未满,则继续出示下一个方块,若满,则结束游戏,打印分数,出示结束界面,游戏终止。
三、详细设计
1设置七种方块:这个用i
tboxMAX_C55MAX_C7种预定义的盒子来实现;即七个55的盒子数组,方块实体用1表示,0表示空;七种如下所示,细心就会发现0000000000111100000000000
0000000100011100000000000
0000001100
6
f001100000000000
0000000110011000000000000
00000011000010000100000000000000110001000010000000
7
f0000000110001100000000000这样七种盒子的方块就被清楚的展现在你们面前。用来保证方块不会出来2我们要进行按键的设置defi
eKEY_UPw定义上下左右按按键defi
eKEY_DOWNsdefi
eKEY_LEFTadefi
eKEY_RIGHTddefi
eKEY_ESC27退出3时钟的控制,用来控制方块的下落间隔时间及速度时钟结构控制typedefstruct时钟结构BOOLe
abled时钟是否开启u
sig
edi
ti
tervel定时间隔u
sig
edi
tlasttime这个属于内部使用变量Timer4i
tGetTickCou
t读取BIOS时钟i
tretretpeek0x00x46e实际上读取了内存0046e处的内容ret8这个地方是retpeek0x00x46c太多新的东西了找点书看一看吧retur
ret
i
tsetTimerTimertu
sig
edi
ti
tvBOOLe
te
ablede
设置一个时钟罗
8
fti
terveli
tvtlasttimeGetTickr