俄罗斯方块报告.doc俄罗斯方块报告
俄罗斯方块游戏设计报告
姓名:谭亦旻学号:200892049班级:机械0809
1项目名称
俄罗斯方块游戏
Visual C++ 6. 0,它是以C++语言作为其基本语言的一种可视化编程工具。
3程序设计思想
从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片 框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就 可以构造出一种造型,因此我们总共设计了 7中造型,每种造型又可以通过旋转而变化出 2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的 形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块 的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的 方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏 中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后 就可以得出用户的分数,用if语句对分数判断,达到一定的积分就可以升级到下一个档 次。俄罗斯方块游戏设计的主要步骤为以下6个方面:
游戏界面的设计。
俄罗斯方块的造型。
俄罗斯方块的旋转。
俄罗斯方块的运动情况(包括向左,向右和向下)。
俄罗斯方块的自动消行功能。当不同的方块填满一行时可以消行,剩余方块向下 移动并统计分数。
游戏得分的计算。当达到一定的分数时过关。设置六关,每关方块下落的速度不 同。
我们开发的俄罗斯方块游戏,主要实现了以下几种功能:
可以灵活控制方块在图形框中运动。
游戏过程中方块可以自由旋转。
当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移 动,可以支持连续消行。
游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为 初始游戏时在基层随机生成一定行数的无规律方块,对于游戏高手来说,无疑不是一个新 的挑战。
1需求分析
随着信息技术的迅速发展,给人们带来了各种各样的信息和更多更新的娱乐。其中游戏 又最为常见和普遍。所以我们实现了一个俄罗斯方块的小游戏,来对所学到的知识进行实 践。
2关于游戏界面
我们制作了一个良好的用户界面,有关数显示和分数显示。让方块在一定的区域内运动 和变形,该区域用一种颜色表明,既用一种颜色作为背景,最好设为黑色。还需用另一种颜 色把黑色围起来,宽度适中,要实现美感。方块下落时,可通过键盘方向键(上、下、 左、右键)对该方块进行向上(变形),向下(加速)、向左、向右移动。
2. 3游戏的数据结构
相信大家都玩过俄罗斯方块,对这个游戏的玩法和方块形状都比较熟悉。我们这个游戏 只选择了最基本的7中造型,包括长条型,正方型,正S型,反S型,正7型,反7型, T型。在旋转的过程中我们以逆时针旋转为基础。
为此,我们对于方块在某一瞬间的位置标识,采用一个4X2的小数组标识出来,即用4 个存储单位空间存储当前下坠物的每一子块的位置,也就是说,用4个存储单位空间存储 当前下坠物的每一子块的位置来对整个下坠物件的位置进行标识,而每个存储空间的大小 就是一个点的坐标值(x, y),而每个方块按照从左到右的方式进行编号,并且在编号过程中 对于同一列的方块实行从上到下进行编号。
(X2』2)
(X3』3)
ActiveStatus [0] [0]和ActiveStatus [0] [1]则是第0号方块的横坐标x和纵坐标y ; ActiveStatus [2] [0]和ActiveStatus [2] [1]则是第2号方块的横坐标x和纵坐标y。
首先建立一个项目工程,名为skyblue_Rect,并在AppWizard的架构选择过程中选择单 文档方式,其他保持默认选项。其项目的架构类视图信息如图所示:
在构架类视图中是MFC基本架构组合:App (应用程序)类、Document (文档)类、 View(视图)类、Frame (框架)类和用于提示关于作者的对话框CAboutDlg类,至于 COptionDlg类是用作俄罗斯方块参数选择的对话框类对象。
2. 4游戏区域绘图
首先将外部位图文件rect. bmp中的位图动态导入(映射)到内存位图里面,根据游戏区 域中的二维数组GameStatus [MAX_R0W] [MAX_C0L]中的内部数据将所有数据状态中为被占用 状态MAP_STATE_NOT_EMPTY的小方块区域用指定的小方块图样类型来填充,然后将已经绘 制好的游戏区域图像一次性的拷贝到与屏幕关联的设备环境中,从而达到屏幕的显示。
2. 5系统设计
1 .Ma
俄罗斯方块报告 来自淘豆网m.daumloan.com转载请标明出处.