基于C++的俄罗斯方块设计论文Word下载.docx

上传人:b****9 文档编号:13025332 上传时间:2022-10-02 格式:DOCX 页数:28 大小:183.26KB
下载 相关 举报
基于C++的俄罗斯方块设计论文Word下载.docx_第1页
第1页 / 共28页
基于C++的俄罗斯方块设计论文Word下载.docx_第2页
第2页 / 共28页
基于C++的俄罗斯方块设计论文Word下载.docx_第3页
第3页 / 共28页
基于C++的俄罗斯方块设计论文Word下载.docx_第4页
第4页 / 共28页
基于C++的俄罗斯方块设计论文Word下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

基于C++的俄罗斯方块设计论文Word下载.docx

《基于C++的俄罗斯方块设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于C++的俄罗斯方块设计论文Word下载.docx(28页珍藏版)》请在冰豆网上搜索。

基于C++的俄罗斯方块设计论文Word下载.docx

2.1游戏开发基本策略 (2-3)

2.2俄罗斯方块的功能需求 (4-5)

3.开发工具介绍 (5-6)

3.1VC++的优点 (5)

3.2WINDOS编程机制 (5)

3.3MFC简介 (5-6)

4.游戏总体设计 (6-14)

4.1游戏所涉及到的相关函数 (6-7)

4.2游戏中运行窗口绘制 (8-10)

4.3方块设计 (10-15)

4.4游戏控制设计 (15-22)

4.4.1消行判断 (15-16)

4.4.2游戏关卡选择 (16-17)

4.4.3方块颜色的转换 (17-19)

4.4.4游戏背景的转换 (19-21)

4.4.5游戏加分规则 (21)

4.4.6游戏结束判断 (21-22)

5.总 结 (23)

参考文献 (24)

致 谢 (26)

1.引 言

游戏是人们娱乐活动中一项重要的内容,有人认为如果哪一天人类对所有的游戏都失去了兴趣,那么恐怕世界的末日就要到了。

电脑对游戏的贡献是众所周知的,现在摸过电脑的人很少有没玩过电脑游戏的,喜欢游戏的人也很少有不玩电脑的。

俄罗斯方块曾经是一款风靡全球的电视游戏机和掌上游戏机游戏,它造成的轰动与造成的经济价值可以说是游戏史上的一件大事。

这款游戏最初由苏联的游戏制作人AlexPajitnov制作的,它看似简单但却变化无穷,令人喜爱。

相信大

多数玩家都还记得为它痴迷的那个时代。

俄罗斯方块最早是出现在PC机上,而我国的用户则都是通过红白机了解、喜欢上它的。

对一般玩家来说,它的规则简单,容易上手,且游戏过程变化无穷,而在联众开发的"

联众俄罗斯方块"

中,更有一些联众加入的网络游戏所独有的魅力――有单机作战与两人在线对战两种模式,用户可任选一种进行游戏。

网络模式还增加了积分制,使用户既能感受到游戏中的乐趣,同时也给用户提供了一个展现自己技艺的场所[1]。

俄罗斯方块游戏可以说是随计算机的发展而发展,并不断演变出各种类似游戏,深受广大玩家喜爱。

这个游戏有的简单,有的复杂,但是其根本原理是一样的,都是对运动的方块进行组合,来训练玩家的反应能力。

谈到游戏软件,大多数人都认为其高不可及。

而一般游戏软件也确实有相当大的技术难度,随着开发工具及软件开发方法学的不断发展,动手开发游戏也越来越简易化。

俄罗斯方块是一款古老而又有趣的游戏,游戏软件多的数不胜数,网上有好多关于实现的复杂算法和设计,其难度却让一般初学者望而却步。

本文利用数组作为方块的数据结构,提出一种用C++语言实现的简易方法,对初学者了解游戏软件的设计与开发过程有一定帮助。

2开发策略与功能需求

2.1游戏开发基本策略

游戏区域由许多等面积的小方块构成,这些区域状态只有满或空两种。

将空间以静态二维数组实现,并预先定义其状态值。

满为1,空为0,以此来完成游戏地图区域的空间分配。

小方块的实现是由一个4*2的小数组表示,用四个存储单位空间存储当前下坠物的每一个子块的位置来对整个下坠物件的位置进行标识,每个存储空间的大小就是一个点的坐标。

每个方块都有其对应的编号,编号按由上到下,由左到右的顺序编排。

有了这些编号,方块的变换实现起来就方便多了。

再由一个宏去标识下坠物的位置[2]。

游戏进程需要定时器的驱动,所以很有必要在程序当中加入一个定时器机制。

如此对游戏的开始,暂停,结束控制便能够得到实现。

游戏开始后便开始掉落方块,并且会在游戏区域上方出现下一个下坠物的形态,因此有随机物件产生这个操作。

此时用户可根据需要来变换方块,向左或向右移动来调整方块位置,然后通过按下使方块加速下落。

这就涉及到了四个主要操作。

当方块向左或向右移动时,需要判定方块是否达到了游戏区域的边界;

当方块下落时需要判定方块是否到了游戏区域的底部,或是碰到了别的方块。

这样游戏内部便引入众多相关函数。

对这些函数进行实现和细化之前,需要对整个游戏运行期间的概要流程有所了解。

开始

到达底部

消行操作

生成新的下坠物

下降一个单位

将新的下坠物代替旧

的下坠物

游戏流程图如下:

结束

2.2俄罗斯方块的功能需求

程序的工作原理主要是在一个MFC工程中建立出各种函数并相互关联以及一些程序算法,并在一台PC机上实现俄罗斯方块游戏的运行。

游戏功能结构图如下所示:

主界面

游戏控制设置

游戏选项设置

退

绿

由图中所示可以看出此方块游戏除了基本的开始、暂停、结束、退出功能外,还具有选择游戏级别、方块颜色、背景颜色的功能。

具体这些功能的实现将会在后面做出详细的解说。

3开发工具介绍

3.1VC++的优点

VC++是由Microsoft公司制作,是一款基于WINDOWS环境的编程软件。

由于WINDOWS操作系统比起MS-DOS操作系统优越了许多。

作为与之相搭配的编程软件功能自然也是非常强大,其最大的特点也就是可视化。

不过在提供可视化的编程方式的同时,它采用了面向对象的程序设计方法,同传统的结构化程序设计方

法相比,缩短了软件开发的周期,提高了软件的开发效率,使程序员可以更好地理解和管理庞大且复杂的程序[3]。

VC中还集成了大量的最新技术,如ActiveX,COM等技术适合开发大型工程,这是相对于VB的一个优势。

它的兼容性较好,还为用户提供了极为丰富的文档和范例。

关于VC的参考资料也非常多,程序开发人员可以紧紧地把握住软件开发技术发展的方向,开发出功能强大的应用程序。

3.2WINDOWS编程机制

WINDOWS是一个多进程的窗口图形操作系统。

WINDOWS应用程序与DOS应用程序有很大的区别。

DOS应用程序采用顺序执行过程,而WINDOWS是一个基于事件的消息驱动系统。

消息驱动是WINDOWS应用程序的核心,消息不仅可由WINDOWS发出,也可由应用程序本身或其它程序产生。

所有的外部响应(如改变窗口大小或移动、单击鼠标等)会触发一个相应的“事件”而被Windows先拦截,转换成消息后再发送到指定应用程序的消息队列,从而使程序处理该事件。

处理完之后,再等待下一个事件的发生[4]。

3.3MFC简介

MFC是对WindowsAPI的封装,它可以大大简化我们的工作。

使用MFC和C++的优点是MFC已经包含和压缩了所有标准的“样板文件”代码,这些代码是所有用C编写的WINDOWS程序所必需的。

当你使用MFC时,你编写的代码是用来建立必要的用户界面控制并定制其外观。

同时你还要编写用来响应用户操作这些控制的代码。

例如,如果用户单击一个按钮时,你应该有代码来响应。

这就是事件驱动代码,它构成了所有应用程序。

一旦应用程序正确的响应了所有允许的控制,它的任务也就完成了。

此外,MFC是在整个Windows家族中都是兼容的,也就是说,无论是Windows3.x、Windows95还是WindowsNT,所使用的MFC是兼容的。

每当新的Windows版本出现时,MFC也会得到修改以便使旧的编译器和代码能在新的系统中工作。

MFC也回得到扩展,添加新的特性、变得更加容易建立应用程序[6]。

MFC做了所有最难做的事,给程序员带来很大的方便。

因此用MFC编写

的程序要比用C语言编写的程序简单得多。

另外,MFC所编写的程序的性能也毫无损失。

必要时,你也可以直接调用标准C函数,因为MFC不修改也不隐藏WINDOWS程序的基本结构。

MFC包括大约100多个类,但常用的也就二三十个。

就前面已经介绍到的

App类、文档类、视图类、框架类等等,都是编程经常要用到的。

4游戏总体设计

4.1游戏所涉及到的相关函数

本游戏界面简洁明了,没有什么花哨的东西。

菜单栏功能并不复杂,仅有游戏控制和选项设置两项。

进入游戏后的窗口背景是黑色调,游戏区域是灰色调,这些都可以通过选项进行调整。

游戏区域有20列,10行,这样设计是为了让方框有足够的高度,可以让玩家有充足的反应时间来处理掉落的方块。

游戏开始后默认的方块是具有立体感的红色方块,其颜色和质感都是经过精心设计的。

而在上方会显示将要落下的方块,让玩家做好迎接挑战的心理准备,下方则显示分数。

游戏的操作主要由鼠标和键盘来完成。

鼠标点击开始后便可用键盘上的“上下左右”来对方块进行操作。

[7]

游戏中所用到的类如下图所示:

由构架类视图中可以看到我们要实现此游戏需要六个类,这些类都是我们所熟悉的MFC基本架构组合,下面分别来介绍这六个类及其相关作用:

(1)App为应用程序类,代表程序的核心。

它封装了Windows-based应用程序的初始化、运行、Message映射和终止等功能。

简单的说,它起到了程序中main()函数的作用,是程序所不可缺少的一个类。

(2)Doc为文档类,包含应用程序的数据集。

它作用于关于数据处理和序

列化存取等功能的承载。

它并不是独立存在于程序中的,如果要运行程序文档、视图、框架三个类有密不可分的联系。

文档类对视图类也起到了管理作用。

(3)View为视图类,用于显示数据并与文档类对象交互。

它拥有视图显示方面的功能。

由于用VC++编写的游戏是可视化的,因此视图类中的函数也是最多的。

方块的实现,游戏界面的实现,甚至一系列的操作都是由视图类实现的。

它也是六个类中最庞大最复杂的一个类。

(4)CmainFrame为框架类,它由文档类创建而成,用于应用程序的主要

WINDOWS框架。

(5)CAboutDl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1