毕业设计论文贪吃蛇小游戏的VC设计与实现.doc
《毕业设计论文贪吃蛇小游戏的VC设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计论文贪吃蛇小游戏的VC设计与实现.doc(34页珍藏版)》请在三一办公上搜索。
1、贪吃蛇小游戏的VC+设计与实现摘 要本文首先对小游戏的发展前景进行了展望,并对其研究现状与研究目标进行了介绍。然后对编写程序用到的工具软件VC+进行了介绍。接着进入主题,对贪吃蛇这个游戏进行了介绍然后又对游戏总体上进行了设计与分析。最后详细地介绍了游戏中各个细节的具体实现,并进行了细致的分析。行云流水般地将在游戏编写过程中遇到的问题以及相应的解决方法表述的清清楚楚。在实践中我获得到了许多宝贵的知识和编程的经验,写在文章之中望与大家共享。关键词:贪吃蛇, VC+, 小游戏ABSTRACTIn this paper , at the first we saw the future of the d
2、evelopment of little game , and then we introduced the current situation and target of game research . Afterwards, we provided the programming tool which is called VC+ made by Microsoft . Next lets get down to business .In the first place, we introduced the game greedy snake .In the second place ,we
3、 designed and analyzed the overall game.At last , we vividly provided the particular realization of game details,and analyzed those detail meticulous.In the process of game programming ,I came up against lots of troubles, but I didnt give it up,by the contrary, I overcame them one by one, and at las
4、t I met with success. I have got many precious knowledge and programming experience in the practice, and I wish to share with everyone in my paper. Key Words: Greedy Snake, VC+, Little Game目 录摘 要IABSTRACTII第一章 绪 论11.1 选题背景11.2 研究现状与目标2第二章 C+程序语言与工具的基本简介42. 1 C+语言基础42.2 面向对象的程序设计52.3 VC+的介绍6第三章 贪吃蛇游戏
5、简介与总体设计73.1 贪吃蛇简介73.2 开发环境73.3 创建游戏的主框架和操作特性分析8第四章 用VC+设计贪吃蛇的具体实现104.1 写在设计前的构思104.2 算法设计与程序流程图114.3 光标移动的设计与实现134.4 贪吃蛇游戏主干的设计15第五章 总结与展望22参考文献24致 谢23附 录2531第一章 绪 论1.1 选题背景今天不小心注意到“小游戏”这个关键词一路爬上热门搜索第一位的位置,这引起了我的兴趣。查看了几个小游戏网站,其实也没有什么,只不过是些以FLASH为主开发的Flash小游戏,确实没有什么非同凡响的地方。但你仔细思考一下,就不难发现,这些东西还真有一定的市场
6、,只是现在还默默地没有被人们所关注。首先,不断扩大的网络爱好者和电脑应用者队伍,带来了很多“新手”,这些新手还会象以前我们刚接触时一样,对一些相对简单,操作也方便,娱乐性强的东西很感兴趣。源源不断的加入者,组成了“小游戏”玩家的新主力军。其次,“小游戏”很方便下载。如:MM小游戏,化妆小游戏,休闲小游戏,连连看小游戏,生活小游戏,等等。而且现在的数码小产品被越来越多的青年所青睐,拥有诸如MP3/MP4,智能手机,PDA,或电脑单机的逐渐壮大的用户群也正是这种网站的潜在用户群体。再次,随着电视上网进程的推进,网络走进千家万户的时代为期不远。因为电视分辩率与内存大小的限制,以及遥控器操作要求动作简
7、单,这种小游戏将会有一个巨大而潜在的市场。就拿现在来说网络上就盛行迷你小游戏,化装小游戏,美眉小游戏,qq小游戏,美眉化妆小游戏,黄金矿工,合金弹头,生活小游戏等等。这些都是现在网路搜索率高,娱乐性强的游戏。今后小游戏的发展趋势:1.体积小,小游戏一般都占硬盘空间相当小,方便下载传播; 2.内容好,体积小并不代表没有内容,相反小游戏的内容还是比较丰富的; 3.耐玩,正是因为小游戏占空间不大,它也是在电脑上占据时间比较长的游戏了;4.娱乐性高,小游戏玩起来还是蛮有趣的,拥有一定的娱乐性;5.无年龄层次,不分老少、不分男女小游戏面向的玩家范围广阔;6.有益身心健康,小游戏的操作不像大游戏那样操作复
8、杂,它们通常就是通过几个简单的按键就可以控制游戏,甚至只用到鼠标就行了,但是就是这几个简单的按键对于游戏的操控,可以达到手脑协调的特效,而且保持一个好的心情,有益身心。1.2 研究现状与目标1.2.1 研究现状C 语言是结构化和模块化的语言,它是面向过程的。在处理较小规模的程序时,程序员用 C 语言较得心应手。但是当问题比较复杂、程序的规模比较大时,结构化程序设计方法就显出它的不足。C 程序的设计者必须细致地设计程序中的每一个细节,准确地考虑到程序运行时每一时刻发生的事情,例如各个变量的值是如何变化的,什么时候应该进行哪些输入,在屏幕上应该输出什么等。这对程序员的要求是比较高的,如果面对的是一
9、个复杂问题,程序员往往感到力不从心。当初提出结构化程序设计方法的目的是解决软件设计危机,但是这个目标并未完全实现。为了解决软件设计危机,在 20 世纪80 年代提出了面向对象的程序设计(Object-Oriented programming,简称 OOP),在这种形势下,C+ 应运而生。C+ 是由贝尔实验室的 Bjarne Stroustrup 博士及其同事在 C 语言的基础上开发成功的。C+ 保留了 C 语言原有的所有优点,增加了面向对象的机制。C+ 与 C 完全兼容,用 C 语言写的程序可以不加修改地用于 C+。从 C+ 名字可以看出它是对 C 的扩充,是 C 的超集。它既可以用于结构化程
10、序设计,又可用于面向对象的程序设计,因此它是一个功能强大的混合型的程序设计语言。使用 C+ 必须事先安装 C+ 编译系统,在 DOS 系统下可以使用 Turbo C+ 或 Borland C+ 。C 源程序的后缀一般为.c,而 C+ 的后缀一般为.cpp(为 C plus plus 的缩写,即 C+)。在 Borland C+ 开发环境中,既可以使用 C 语言,也可以使用 C+ 语言。它有两个编译系统,根据源程序文件名的后缀是 c 还是 cpp 来决定使用哪个编译系统。如上所述,面向对象程序设计方法主要是解决大型软件的设计问题。只有编写过大型程序的人才会体会到 C 的不足和 C+ 的优点。C+
11、 是一种大型语言,其功能、概念和语法规定都比较复杂,要深入掌握到需要花较多的时间,尤其是需要有较丰富的实践经验。用 C+ 编程的主要是软件专业人员。C+ 对 C 的“增强”,表现在两个方面:1.在原来面向过程的机制基础上,对 C语言的功能做了不少扩充。2.增加了面向对象的机制。VC+是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C+语言的要求编写,并加入了微软提供的功能强大的MFC(Microsoft Foundation Class)类库,充分体现了微软公司的技术精华。MFC中封装了大部分Windows API函数和Windows控件,它包含
12、的功能涉及到整个Windows操作系统。MFC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件。使用VC+提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得更简单。MFC提供的类库是高度抽象的程序设计,它使得程序员的主要精力不用放在程序设计的具体细节实现上,而放在程序的功能扩展上面。 1.2.2 研究目标C+学习过程中,涉及到很多的基本知识点,需要以练习的形式逐步深入,以达到融会贯通的目的。学习C+是一项交互式练习,不实际编写程序就无法学会C+,因此,要抱着一种十年方能磨一剑的心理,扎扎实实从基础开始。选一些好的实例,这些实例经过反复的挑
13、选,既有利于我们掌握有关知识,又不失趣味性。不断地写代码,写有意义的代码。这其实也是入门任何其他编程语言的必由之路。在编程的过程中,重点训练我的编程的逻辑思路和算法以及编程、调试的基本技术。因此,在作此毕业设计时,以任务驱动为前提,从提出问题入手,进行分析和算法设计,最后再归纳总结,以加强学习的针对性和应用性。 万丈高楼平地起,能够编写复杂的游戏都是在编写过简单的游戏基础上演变过来的能力。然而像贪吃蛇这样的简单的游戏,就自然成了游戏设计者的入门首选。因为其界面简单,操作、玩法一目了然,所以编写起来就不会很困难,而且需要考虑的问题也不用很多,就是蛇的显示、移动、碰撞3个游戏的主块,攻破这3个主块
14、,程序就自然编写出来了,不会一开始就把游戏设计初学者拒之门外。编成之后成就感就会油然而生,并使之对游戏设计产生强烈的兴趣。成为向游戏设计之路成功迈出的第一步,同时对于VC+的应用水平也会上升,用起来会更加娴熟、得心应手。从易到难这是一个准则,总之,贪吃蛇小游戏的研究会对增长程序阅读能力、程序编写能力等起到了意想不到的作用。第二章 C+程序语言与工具的基本简介2. 1 C+语言基础C+这个词在中国大陆通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”或者“dev.cpp。 它是一种使用非常广泛的计算机编程语言。C+是一种静态数据类型检查的,支持多重编程范式的通用程
15、序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。 C+的主要优点在于灵活性、效率以及编译期类型计算功能。它提供了丰富的语言特性和库,支持多种编程范型,绝不限制程序员应该做什么或如何做。在解决大规模程序的组织问题的同时,C+还完美地继承了C的高效性。在各种动态语言粉墨登场的时代,C+坚定地朝着另一个方向大踏步前进,不断强化其静态特性。强大的编译期类型计算功能终将成为C+无与伦比的特色。C+ 是C语言的一个高级版本,支持中文,界面高级,不需要启动母文件即可运行程序。 美国AT&T贝尔实验室的本贾尼斯特劳斯特卢普(Bjarne Stroust
16、rup)博士在20世纪80年代初期发明并实现了C+(最初这种语言被称作“C with Classes”)。一开始C+是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、名字空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C+程序设计语言的国际标准ISO/IEC 14882-1998。C+是具有国际标准的编程语言,通常称作ANSI/
17、ISO C+。1998年是C+标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C+0x。遗憾的是,由于C+语言过于复杂,以及他经历了长年的演变,直到现在(2004年)只有少数几个编译器完全符合这个标准(这么说也是不完全正确的,事实上,至今为止没有任何一款编译器完全支持ISO C+)。 另外,就目前学习C+而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C+。根据C+编程思想(Thinking in C+)一书所评述的,C+与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C+ 完全可以取
18、代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)。 根据Effective C+第三版第一条款的描述,现在C+由以下四个“子语言”组成: 1、C子语言。C+支持C语言的几乎全部功能,在语法上与C语言仅有极微妙的差别(如括号表达式的左右值性,具体请参考C+标准文献)。 2、面向对象的C+。C+首先作为一门面向对象的语言而闻名,这个特点在这里不再详述。 3、泛型编程语言。C+强大(但容易失控的)模板功能使它能在编译期完成许多工作,从而大大提高运行期效率。 4、STL(C+标准模板库)。随着STL的不断发展,它已经逐渐成为C+程序设计中不可或缺的部分,其效率可能比一
19、般的naive代码低些,但是其安全性与规范性使它大受欢迎。 C+语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C+语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C+中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C+受到了一定的冲击;第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C+出现了发展历史上又一个新的
20、高峰,这些新技术的出现以及和原有技术的融合,使C+已经成为当今主流程序设计语言中最复杂的一员。2.2 面向对象的程序设计面向对象程序设计(英语:Object-oriented programming,缩写:OOP),指一种程序设计范型,同时也是一种程序开发的方法论。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。当我们提到面向对象的时候,它不仅指一种程式设计方法。它更多意义上是一种程序开发方式。在这一方面,我们必须了解更多关于面向对象系统分析和面向对象设计(Object Oriented Design,简称OOD)方面的知识。面向对象程序设计可以被视作一种
21、在程序中包含各种独立而又互相调用的单位和对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,或者说是负有责任的角色。目前已经被证实的是,面向对象程序设计推广了程序的灵活性和可维护性,并且在大型项目设计中广为应用。 此外,支持者声称面向对象程序设计要比以往的做法更加便于学习,因为它能够让人们更简单地设计并维护程序,使得程序更加便于分析、设计、理解。反对者在某些领域对此予以否认。.OOP有三个特性: 第一个关键特
22、性是定义了类,封装了表现和操作的抽象数据类型。在oop语言中,类是模块、封装和数据抽象的基础。 第二个关键特性是继承,从已存在的类型中继承元素(表现和方法),改变或扩展旧类型的方法。 第三个关键技术被称为多态性,它允许使用类似的方法操作不同类型的对象(通常是子类对象)。它使得类的可用性进一步提高,程序也因此更容易维护和扩展。通常,OOP被理解为一种将程序分解为封装数据及相关操作的模块而进行的编程方式。有别于其它编程方式,OOP中的与某数据类型相关的一系列操作都被有机地封装到该数据类型当中,而非散放于其外,因而OOP中的数据类型不仅有着状态,还有着相关的行为。OOP理论,及与之同名的OOP实践相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 贪吃 小游戏 VC 设计 实现
链接地址:https://www.31ppt.com/p-4881012.html