最近在加强C语言的学习,练习一个实例(游戏俄罗斯方块)的时候,遇到的种种不解,现记录如下:
1.将游戏分为两个部分,一是游戏底板,二是方块形状;
对于游戏底板我们可以将其抽象成由(0,1)表示的矩阵,例如,
刚初始化的10x15的游戏底板:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
......
对于方块形状可以预先定义一个结构体数组预先存储,
可表示为4x4的矩阵
1 0 0 0
1 0 0 0
1 1 0 0 //表示形状为L的方块形状;
0 0 0 0
至于判断方块的左移,右移,旋转,下移主要是判断具体的值,如果超出了边界或者位置的值都为1,那么可以判断操作无法执行!
在游戏中方块的移动都是采用先消除原来的方块形状,再在下一个位置显示方块形状!