综合运用所学理论知识和技能,设计开发俄罗斯方块游戏,使自己熟悉应用系统的开发过程,检验学习效果和动手能力,培养独立思考能力,提高工程实践能力,为将来实际工作打下坚定地基础。
4. 项目分析
4.1 总体分析
剖析游戏的实质,可以发现:首先,该游戏需要一个良好且可控的界面,能够接受鼠标和键盘的响应,可以供玩家选择自己想要的游戏级别,实现个性化设置;其次,由于游戏涉及到许多不同种类的下坠物,所以需要来构造这些下坠物并且设置一种旋转规则实现下坠物的各种旋转;再者,在游戏过程中,必须要处理好下坠物的一些事件,例如自动下落,消除满行,下一个下坠物的显示以及游戏的自主升级。
4.2 下坠物分析
本游戏需要有7种下坠物,而每种下坠物还可以进行旋转。每种下坠物每行每列最多只有4个小下坠物。图形有以下7种:长条形;Z字形;反Z字形;田字形;7字形;反7字形;T字形。可以将它们放在一个n*m的区域内,该区域可以看作是有许多个等面积小下坠物构成的区域,而这些区域的状态只有两种,被下坠物占据或空闲,因此,对于整个游戏区域的空间是占据或空闲,可以用一位数来标识,占据为“1”,空闲为“0”。对于7种下坠物和它们旋转后的形态我们可以用不同的标识进行标记。对于旋转,游戏中所有下坠物都是按照逆时针旋转的规则进行的,而且在旋转过程中它们不会因为旋转而下降,总会保持在同一高度。任何下坠物经过一个旋转周期还会变回原型。
4.3 中断和正常工作分析
当用户进行一定的操作交互的时候,运行程序可以根据用户的操作指示进行当前下坠物的控制。而这些操作都是响应相关的功能键而执行的,所以这里可以把它看成一种“中断”的操作。在中断过程中,可以通过键盘包括按某些键进行操作。为了便于用户操作,用户可以选择操作键,但他们的作用不变。但还是应该设置默认键来方便操作。例如:光标向上键,光标向下键,光标向左键,光标向右键。
(1)按光标向上键
此事件产生下坠物旋转操作,下坠物并非任何情况都能旋转,如果旋转后与小方格矩阵显示的下坠物有冲突或超出边界时,均不能发生旋转。因此首先要判断是否有足够的空间进行旋转,然后选择是否旋转。
(2)按光标向下键
此事件产生下坠物加速下落操作,如果下坠物已经到达游戏区域底部或者已经有其他方块遮挡,则下坠物停止下降。
(3)按光标向左键
此事件产生下落下坠物左移操作。首先要判断此下坠物是否能够发生左移,当越界或被其他显示下坠物阻挡时,则不能左移。
(4)按光标向右键
此事件产生下落下坠物右移操作。首先要判断此下坠物是否能够发生右移,当越界或被其他显示下坠物阻挡时,则不能右移。
在无人操作时,游戏开始后会随机产生一个下坠物,先显示在界面右上角的显示区域,然后转到游戏区域,右上角又随机产生一个新的下坠物,当该下坠物下落到底后,新的下坠物再次进入游戏区域,如此循环,直到游戏结束/暂停,这就是游戏的正常工作。
4.4 主界面分析
主界面分析主要包括界面的显示,快捷键的使用。首先,根据游戏本身的需要,应该在游戏界面里设置三个选项,分别为文件、查看和帮助。文件里面包括开始、暂停和退出。查看里面包括工具栏和状态栏。快捷键分别如下:文件(F),查看(V),帮助(H),开始(S),暂停(F3),退出(X),查看(V),帮助(H)。 VC++实现俄罗斯方块游戏(4):http://www.youerw.com/jisuanji/lunwen_9747.html