最近在加强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,那么可以判断操作无法执行!

在游戏中方块的移动都是采用先消除原来的方块形状,再在下一个位置显示方块形状!

 

 posted on 2013-05-07 04:02  小代码  阅读(363)  评论(0编辑  收藏  举报