文章先介绍了关于俄罗斯方块游戏的几个术语。
边框——由10*20个空格组成,方块就落在这里面。
盒子——组成方块的其中小方块,是组成方块的基本单元。
方块——从边框顶掉下的东西,游戏者可以翻转和改变位置。每个方块由4个盒子组成。
形状——不同类型的方块。这里形状的名字被叫做T, S, Z ,J, L, I , O。如下图所示:
模版——用一个列表存放形状被翻转后的所有可能样式。全部存放在变量里,变量名字如S_SHAPE_TEMPLATE or J_SHAPE_TEMPLATE
着陆——当一个方块到达边框的底部或接触到在其他的盒子话,我们就说这个方块着陆了。那样的话,另一个方块就会开始下落。
下面先把代码敲一遍,试着了解作者意图,体会俄罗斯方块游戏的制作过程。
?
代码一开始仍是一些变量的初始化,我们这里还加载了time模块,后面会用到。BOXSIZE, BOARDWIDTH, BOARDHEIGHT与前面贪吃蛇相关初始化类似,使其与屏幕像素点联系起来。
?
这两个变量的作用是这样的,每当游戏者按下左键或右键,下降的方块相应的向左或右移一个格子。然而游戏者也可以一直按下方向左键或右键让方块保持移动。MOVESIDEWAYSFREQ这个固定值表示如果一直按下方向左键或右键那么每0.15秒方块才会继续移动。
MOVEDOWNFREQ 这个固定值与上面的是一样的除了它是告诉当游戏者一直按下方向下键时方块下落的频率。
?
这两句的意思就看下面这个图就明白了。