C#俄罗斯⽅块实现思路及源码
需求分析
俄罗斯⽅块游戏产⽣多种形状的⽅块。这些⽅块通过⽅向键的控制产⽣旋转,左右移动和加速前进,⽅块⾃动往下掉直到遇到下⾯已经有⽅块挡住停下来。如果⼀⾏完全排列满,消掉,如果排列到了顶部,游戏失败。
核⼼思路
把所有的⽅块看成⼀个4*4的⼆维数组,有“砖”的地⽅表⽰为1,没有“砖”的地⽅表⽰为0;背景看成是14*20的⼆维数组。游戏免费源码分享网站
游戏流程:随机从⽅块的4个4*4的矩阵中挑选出来⼀个,并且随机的挑选⼀个他的初始化状态(对于状态变化,我们同样
可以把他们表⽰在⼀个4*4的矩阵中)。然后这个被挑选的矩阵,在⼀个14*20的矩阵中不断的按照⼀种速度进⾏往下运
动。同时可以使⽤⽅向键使得它可以左右运动,并循环的变化他的状态。如果这个矩阵在运动的⽅向上遇到了数值为1的时
候则停⽌运动,在左右运动上表现为不能移动,在往下运动的时候则表现为这个⽅块运动的结束。把这个矩阵的数值复制
到背景矩阵中去。这时检查背景矩阵,如果背景矩阵中有⼀个⾏全部为1,那么在y轴上⽐该⾏⼩的所有⾏向下移动⼀⾏,
⽤户得分增加100,判断得分是否超过游戏胜利临界值。检查所有的⾏,并且做同样动作。检查完成后,进⼊下个⽅块的随
机挑选,下落。当某个⽅块下落完成的时候。他的y坐标在背景中为0的时候。游戏结束。作为游戏的界⾯,我们需要在游
戏的状态发⽣改变的时候,把背景矩阵和运动矩阵都绘制出来。数值为0的地⽅不绘图,数值为1的地⽅绘制图⽚。
实现细节
form响应键盘事件需要先将KeyPreview属性设为true
注意⼀局游戏结束后要将相应的变量清零或重新赋值
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论