这个俄罗斯方块令我自豪的地方是,我没有参考任何人的代码和思想,完全凭借自己的想象力来实现的。因此本游戏的算法不是很好,现在看来有些拙劣。不过好歹也是我寒假里最大的一个项目啊,还是自己鼓励自己一下吧!
写完本程序后感觉收获很多,大一新生不是没有能力开发图形界面的东西,而是缺乏一种勇气以及耐心。
开始时的界面:
结束后的界面:
目录
一、 应用程序的最终界面
本游戏是通过键盘控制下落体的移动,最终运行界面如下:
游戏结束的画面如下:
1.1.制作目的
一、通过编写俄罗斯方块来提高自己对于复杂问题的独立分析能力以及独立解决问题能力,所以此次程序设计没有参考他人编写的代码及思路。
二、验证一下自己上一个学期的学习成果,对上学期学习的C++知识加以巩固和提高。
三、通过编写俄罗斯方块来提高自己对于Windows API 学习的乐趣,加深对GDI绘图的理解。
四、通过编写俄罗斯方块的方式来不断的学习新的知识以丰富自己的寒假生活,过一个更有意义的寒假。
1.2关于编译软件
本程序采用Microsoft Visual Studio 2010进行编译的。Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。
1.3关于兼容性
本程序经过调试可以在Windows XP,Windows 7下正常运行。
第二章 概要设计
2.1 软件的主要功能设计
2.11 程序结构
根据分析俄罗斯方块主要需要以下几个功能:
一、暂停游戏
二、继续游戏
三、开始新的游戏
四、选择不同的难度
五、背景音乐的播放
六、退出
具体的程序结构如下图所示
2.1.2 程序流程
根据分析后的俄罗斯方块的结构设计出相应的流程。俄罗斯方块的主要内容包括:游戏开始,随机生成下落物体,根据键盘的按键做出相应的变化。在游戏进行过程中可以开始新的游戏,可以改变游戏的难度,暂停游戏等。
第三章 游戏的实现
3.1函数、变量及资源的声明
根据程序的结构,将俄罗斯方块的功能细化成为相应的函数
3.1.1 函数声明
voidInitialize_MAP();//初始化地图
voidInitialize_OBJECT();//将Object中的数据传递到OBJECT中
voidRUS::GETObjectPosition(int *XX,int *YY,int OBject[4][4]);//将子形状坐标化
voidInitializeXY();//将OBJECT坐标化
voidDrawDeformation();//画出下一个OBJECT的形状
voidVerticalMove(bool);//使红色方块的坐标向下移动
voidRightMove(bool);//使红色方块的坐标向右移动
voidLeftMove(bool);//使红色方块的坐标向左移动
voidDeleteLine();//得分后删除填满的行
voidJudgeGetScore();//判断能否得分
boolDeformation();//变形函数</