基于VC的“连珠球”游戏设计学士学位论文.doc
《基于VC的“连珠球”游戏设计学士学位论文.doc》由会员分享,可在线阅读,更多相关《基于VC的“连珠球”游戏设计学士学位论文.doc(39页珍藏版)》请在三一办公上搜索。
1、基于vc的“连珠球”游戏设计“Link Ball” Game Design Based On VC专 业: 计算机科学与技术姓 名: 涂仪指 导 教 师: 申请学位级别: 学 士论文提交日期: 2011.6.5学位授予单位: 天津科技大学摘 要休闲游戏是一种让人们在零散的闲暇时间中能够娱乐的小游戏,近几年在移动平台中大出风头。这类游戏的特点是:内容单一,操作简单,游戏时间较短。本文的选题是以一种休闲游戏为出发点,基于VC开发环境,以C+语言为基础,实现单人操作的的智能“连珠球”动画游戏。首先,论述了选题的目的和意义,然后对常用的游戏开发语言进行了概要性的介绍,选择了自己熟悉的C+语言作为开发语
2、言,紧接着分析了此游戏软件要实现的功能,以及如何设计和实现这些功能,最后,简要地介绍了“连珠球”游戏软件的使用方法和一些游戏规则。本文深入讨论了“连珠球”游戏软件设计和实现的技术要点,本游戏软件实现了鼠标点击移动棋盘上的彩色球,使彩色球连成直线从而得分,并且能够在游戏正常退出时自动记录游戏进度和游戏得分。本文最后对智能“连珠球”动画游戏进行了总结与展望。通过研究并实现了“连珠球”游戏软件,论证了开发智能“连珠球”动画游戏的可行性。关键词: 游戏; C+语言; 智能; 动画; ABSTRACTCasual Game is a small game that enable people enjoy
3、 it when they leisure, and it steal and show at the Mobile Platforms. The features of this games is that content of a single, simple, games of shorter duration.This title based on the traditional “Link Ball” game and VC development environment.I use C+ programming language to realize single player “
4、Link Ball” game.First of all,I describe the purpose and intention of this title,then introduces the blueprint of programming language,for those idea,I choose C programming language for my tool to develop it.Second,I analyze the function I have realized in this design and how to do that.In the end,I
5、recommend usage and rules of the “Link Ball” game.This paper talked about design and technique points of “Link Ball” game deeply. This game software implemented that mouse click to move colored balls on the board, make the colored balls with a straight line to score. And ablility to recorded game sc
6、hedule and game scores when the game exit.At the end of this paper I make a summary and expectation to this field.Through research “Link Ball” game software source code,I demonstrate feasible possibility of developing intelligent snake game.KEY WORDS: game; C+; intelligence; flash;目 录第一章 绪论1第一节 游戏有关
7、背景1第二节 目的与意义2第三节 技术要求3第四节 工具介绍7第二章 需求分析与概要设计11第一节 游戏需求分析11第二节 操作要求11第三节 目标设计12第四节 游戏概要设计13第三章 详细设计与实现14第一节 界面设计14第二节 存取设计16第三节 输入输出17第四节 游戏总体介绍20第五节 游戏回合21第六节 寻路计算23第七节 得分计算27结 论32参考文献33致 谢34第一章 绪论第一节 游戏有关背景电子游戏,又称电玩游戏,是指人通过电子设备,如电脑、游戏机等,进行游戏的一种娱乐方式。用比较专业的话来概括就是:操纵计算机线路进行的游戏。有依靠电池供电的手控机关进行和利用电视屏幕、计算
8、机终端进行,以及利用设在游艺室内的大型设备进行等多种。始于20世纪60年代末。今已形成许多种电子游戏项目。如足球、棒球、国际象棋的电子游戏等,也有组字和数字的游戏。在电子游戏的形成和发展过程中,游戏软件的分类始终伴随着它。许多电子游戏都是从传统游戏中继承来的,其中图版游戏对电子游戏的发展产生了很大的作用。 电子游戏专用机产生在70年代初。1971年,一个还在MIT(麻省理工学院)学习的叫NolanBushnell的家伙设计了世界上第一个业务用游戏机,这个街机游戏的名字叫电脑空间(ComputerSpace)。电脑空间的主题是两个玩家各自控制一艘围绕着具有强大引力的星球的太空战舰向对方发射导弹进
9、行攻击。两艘战舰在战斗的同时还必须注意克服引力,无论是被对方的导弹击中还是没有成功摆脱引力,飞船都会坠毁。这台业务机用一台黑白电视机作为显示屏,用一个控制柄作为操纵器,摆在一家弹子房里。不过很可惜,这台祖母业务机遭到了惨痛失败,失败的原因是当时的玩家认为这个游戏太过复杂,和当时美国流行的弹子球相比,这个游戏确实复杂了一点,不过我还是很怀疑当年美国玩家的素质。至此,历史上第一台业务用机以失败结束了它的命运。制作者NolanBushnell承认失败,但他仍然相信电子游戏的发展前景。许多人认为,电子游戏已经不单单是一种娱乐,已经成为了一种文化现象。有人将电子游戏视为一种艺术,也有人认为它对社会产生了
10、不良影响,尤其是对青少年的身心健康有害。但是,现在电子游戏已经成为了人们生活中常用的一种娱乐方式。现在越来越多的人通过玩游戏来达到娱乐休闲的目的,因此游戏很受人们的欢迎。现在人们生活的节奏非常快,伴随而来的是人们要面对多方面的压力。随着压力的积聚,人们的生活和工作都会受到这样或那样的影响。导致生活不愉快,工作不顺心。因此,很想找到一种释放压力的途径。而玩游戏正好可以给人们一种成就感,几乎任何人都渴望有成就感,而成就感指的是人以为自己做成了一件了不起的事时的感觉。做成的事越不得了,人就越有成就感。松弛,当人累了的时候所希望的东西。人不是机器,会疲劳,此时成就感的需求就降低了,对休息的需要上升,也
11、就是希望能够松弛。现在的电子游戏大都不能松弛身体(反而增加身体疲劳),是通过松弛神经来做到松弛的。如贪吃蛇、采蘑菇等小游戏。此类游戏主要是简单,不用费神。应当注意,某些人觉得简单的游戏,某些人却觉得麻烦。这样,对那些觉得麻烦的人,同样的游戏就不能起到松弛作用,所以松弛是有针对性的。通常可以在游戏中增加一些幽默成分以增加松弛作用。因此,开发一款让人能够达到松弛的目的,进而更好地生活和工作的游戏现得非常的重要。第二节 目的与意义一、 设计目的电子游戏作为产业,其市场规模和产值已远远超过电影直逼电视;电子游戏作为文化,其“虚拟现实”强大的感染力和交互影响性,使得虚拟社区成为人们精神生活的家园之一,甚
12、至是一种生存方式;电子游戏作为艺术,它的进入给艺术领域带来了“鲇鱼”效应,艺术景观急剧变化。数码电影、网络文学、数码音乐、数码戏剧、电脑绘画、Flash动画、三维动画、电脑设计等,纷纷向电子游戏演变,电子游戏成为信息时代的主流艺术形式。电子游戏作为产业、文化没有争议,作为艺术,目前还不被公认。希望能从电子游戏艺术的定义出发,考察电子游戏的艺术属性,发掘电子游戏的艺术潜能,重塑电子游戏的审美价值。并且,我希望能通过游戏程度的设计,使自己熟练运用C+语言中的许多知识,如:类Class,模板template,结构Struct,标准库STL等。熟悉VC开发平台的使用和SDK函数。最终能增加编程的兴趣,
13、提高编程水平,在以后的生活中运用所学到的知识为社会多做贡献。二、设计意义力争设计出人们喜欢的休闲小游戏,给人们带来愉悦的心灵享受。给那些长期因工作压力比较大的人们提供一种释放压力的途径,使他(她)们更有激情地工作。同时,也实现了自我的人生价值。强调各人技术的另一方面,我还希望把电子游戏称为艺术,但也认识到电子游戏成为艺术的种种阻力。这种阻力不是来自技术桎梏,因为“摹尔”定律支配下的计算机及其网络技术正以越来越快的速度实现着人们的幻想,“不怕做不到,只怕想不到”是网络时代的座右铭。电子游戏成为艺术最大的阻力来自两个方面,一个是自身的异化现象,一个是来自传统艺术(包括艺术理论)领域的不屑和反对。商
14、业资本的进入、唯利是图的商业运营,将电子游戏的负面因素肆意扩大,暴力、色情、恐怖被作为噱头大加渲染。为了商业利益利用情节、升级、宝物等手段将玩家无休止地固定在电脑屏幕前,使电子游戏成为一个没完没了的黑洞,将人的时间、生命耗费在游戏点卡上,使自由的电子游戏成为不自由的毒品。电子游戏将传统群体性的游戏变成了纯个人性的娱乐(网络上不用担心没有游戏伙伴),游戏不再受时空、道德伦理的限制,人的本性需要凸显。人的感性冲动在获得极大自由的同时,道德缺位、意义悬置、主体意识模糊接踵而至。在没完没了的技术升级、图像加速中,电子游戏的技术性畸形发展,艺术性被淡化。技术至上掩盖了人文关怀,人成为了技术的奴隶。电子游
15、戏成为艺术的第二个阻力来自艺术家及理论家的生存危机。对艺术家而言,自己辛苦了一辈子,经历了无数艰辛终于成为“艺术家”,很多时候艺术品之为艺术品,不是因为它具有艺术性而是因为它出自“艺术家”之手。网络时代“人人都可以成为艺术家”,呕心沥血的创作被怎么都行代替,其心理冲击可想而知。对于艺术理论家而言,他们饱读经典,经过无数引经据典建立起来的理论体系,面对异类的电子游戏艺术,他们最便捷的反应就是视而不见,拒之门外。他们以前的知识谱系从来没有这么苍白,从来没有听说过艺术评论不仅需要艰深的哲学美学艺术知识,还需要不断跟踪日新月异、飞速发展的高科技技术,以前最多只需了解一些自然辩证法、科学史以及基本的科学
16、公理定律。因此在电子游戏已经兴起半个多世纪,网络游戏已经横行至少10年并成为最大的文化产业的今天,艺术理论界仍然无动于衷。无论我们承认与否,电子游戏艺术的已曙光初现。艺术理论界的关注既有利于电子游戏艺术的健康成长,也必将成为新世纪艺术理论新的学术生长点。我们期盼着!第三节 技术要求一、程序设计语言那种语言适合开发游戏?下面列举了几种用于游戏开发的主要编程语言的介绍及其优缺点。(一)C语言如果说FORTRAN和COBOL是第一代高级编译语言,那么C语言就是它们的孙子辈。C语言是Dennis Ritchie在七十年代创建的,它功能更强大且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和
17、FORTRAN的结构化继承者。C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。在此之前,操作系统是使用汇编语言编写的,而且不可移植。C语言是第一个使得系统级代码移植成为可能的编程语言。C语言支持结构化编程,也就是说C的程序被编写成一些分离的函数呼叫(调用)的集合,这些呼叫是自上而下运行,而不像一个单独的集成块的代码使用GOTO语句控制流程。因此,C程序比起集成性的FORTRAN及COBOL的“空心粉式代码”代码要简单得多。事实上,C仍然具有GOTO语句,不过它的功能被限制了,仅当结构化方案非常复杂时才建议使用。正由于它的系统编程根源,将C和汇编语言进行结
18、合是相当容易的。函数调用接口非常简单,而且汇编语言指令还能内嵌到C代码中,所以,不需要连接独立的汇编模块。优点:有益于编写小而快的程序。很容易与汇编语言结合。具有很高的标准化,因此其他平台上的各版本非常相似。缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有关。比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量。用C语言编写的游戏:非常非常多。(二)C
19、+C+语言是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。比如说,有很多的GDI和数据库的库实现为对象的集合。C+总是辩论的主题,尤其是在游戏开发论坛里。有几项C+的功能,比如虚拟函数,为函数呼叫的决策制定增加了一个额外层次,批评家很快指出C+程序将变得比相同功能的C程序来得大和慢。C+的拥护者则认为,用C写出与虚拟函数等价的代码同样会增加开支。这将是一个还在进行,而且不可能很快得出结论的争论。我认为,C+的额外
20、开支只是使用更好的语言的小付出。同样的争论发生在六十年代高级程序语言如COBOL和FORTRAN开始取代汇编成为语言所选的时候。批评家正确的指出使用高级语言编写的程序天生就比手写的汇编语言来得慢,而且必然如此。而高级语言支持者认为这么点小小的性能损失是值得的,因为COBOL和FORTRAN程序更容易编写和维护。优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把整个语言正确的实现。移植性:比C语言好多了,但依然不是很乐观。因为它具有与C语言
21、相同的缺点,大多数可移植性用户界面库都使用C+对象实现。使用C+编写的游戏:非常非常多。大多数的商业游戏是使用C或C+编写的。(三)汇编语言(Assembly)显然,汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果你要找的是类英语且有相关的自我说明的语言,这不是你想要的。确切的说,任何你能在其他语言里做到的事情,汇编都能做,只是不那么简单 这是当然,就像说你既可以开车到某个地方,也可以走路去,只是难易之分。话虽不错,但是新技术让东西变得更易于使用。总的来说,汇编语言不会在游戏中单独应用。游戏使用汇编主
22、要是使用它那些能提高性能的零零碎碎的部分。比如说,毁灭战士整体使用C来编写,有几段绘图程序使用汇编。这些程序每秒钟要调用数千次,因此,尽可能的简洁将有助于提高游戏的性能。而从C里调用汇编写的函数是相当简单的,因此同时使用两种语言不成问题。特别注意:语言的名字叫“汇编”。把汇编语言翻译成真实的机器码的工具叫“汇编程序”。把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。缺点:难学、语法晦涩、坚持效率,造成大量额外代码 不适于心
23、脏虚弱者。移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。如果使用了某个特殊处理器的扩展功能,你的代码甚至无法移植到其他同类型的处理器上(比如,AMD的3DNow指令是无法移植到其它奔腾系列的处理器上的)。使用汇编编写的游戏:我不知道有什么商业游戏是完全用汇编开发的。不过有些游戏使用汇编完成多数对时间要求苛刻的部分。二、程序设计平台(IDE)开发平台IDE是一个比较大的概念,C+中称为IDE的不多,主要以编译器来区分开发环境。目前主流C+编译器有VC,BC,gcc。游戏程序一般都跑在PC机上,而PC机得操作系统大多是windows,因此VC是最好的选择。不过有的大型网
24、络游戏(MMORPJ)的服务器会因为效率和安全问题跑在Linux下,这样就要用到gcc了。而“连珠球”只是一个休闲小游戏,所以使用VC来开发。同时,客户端的开发必须熟悉windows的接口SDK,虽然windows有更专业的游戏接口DirectX,但是对SDK的熟悉也是必须的。三、数据结构与算法设计在游戏的编写中,不可避免的出现很多应用数据结构的地方,有些简单的游戏,只是由几个数据结构的组合,所以说,数据结构在游戏编程中扮演着很重要的角色。数据结构在游戏中的应用,包括对链表、顺序表、栈、队列、二叉树及图。在开始游戏编程只前,应对数据结构有所了解,并且熟悉C/C+语言的各种功用。(一)链表在游戏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 VC 连珠 游戏 设计 学士学位 论文

链接地址:https://www.31ppt.com/p-3769181.html