基于Python的贪吃蛇游戏设计.doc
《基于Python的贪吃蛇游戏设计.doc》由会员分享,可在线阅读,更多相关《基于Python的贪吃蛇游戏设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Python的贪吃蛇游戏设计本科毕业设计(论文)( 2018届 )题目:基于Python的贪吃蛇游戏设计学院:数理与信息工程学院专业:计算机科学与技术 班级: * 作者姓名: *磊 学号: * 指导老师: * 职称: 讲师 浙江师范大学本科毕业设计(论文)正文目录摘要4Abstract4一、概述51.1、中国游戏产业的现状51.2、中国游戏产业的未来发展局势51。3、贪吃蛇游戏的发展状况6二、开发工具的简介62。1、Python3.2 IDLE简介62.2、Python3。2开发过程7三、需求分析73。1、可行性分析73。1、1.技术可行性83。1、2.经济可行性83。1、3.运行可行性8
2、3。2、功能性分析83。2、1。简单性83。2、2.趣味性9四、概要设计94.1、功能介绍94。2、概要设计图104。2、1.画面设计104。2、2.游戏过程114。2、3。游戏结束114.2、4。添加功能11五、详细设计125。1、程序设计分析125.2、主要函数及模块125。2、1。主要模块125.2、2。主要函数135。3、主要代码145.3、1。设计游戏界面145.3、2。构建贪吃蛇165。3、3.构建食物185。3、4。碰撞检测18六、测试与运行206.1、运行程序206.2、程序的调试和测试22七、遇到的困难及解决过程23八、结论25参考文献27致谢2827基于Python的贪吃蛇
3、游戏设计数理与信息工程学院 计算机科学与技术 洪磊(14190125)指导老师:宋炯(讲师)摘要:现如今,人们生活节奏日益加快,繁忙冗杂的工作、学习和生活使人们的生活变的枯燥,没有新意,休息时间越来越少。面对这样的生活,人们大都渴望在这仅有的休息时间里,找到一些能让身心放松的娱乐活动。于是,贪吃蛇这款游戏就进入了大众的视野.本次毕业设计的主题就是贪吃蛇游戏的设计,游戏的主要内容分为游戏界面设计和游戏功能设计两大部分,其中游戏界面设计以满足视听觉体验为主,游戏功能设计是在满足原有的贪吃蛇游戏基本功能的基础上添加一些其他的功能。本次毕业设计运用的开发语言是Python语言,Python语言拥有十分
4、丰富的函数库和模块库,本次设计主要运用其中的pygame模块.关键词:贪吃蛇;游戏;Python;函数库;pygameDesignofsnake game based on PythonCollege of Mathematics, Physics and Information Engineering,computer science and Technology,HongLei,14190125Tutor:SongJiong(lecturer)Abstract:Nowadays, peoples pace of life is accelerating, busy and tedious
5、。work, study, and life make peoples lives boring, without new ideasand less time for rest。 Faced with this kind of life, people are eager to find some recreational activities that can relax both physically and mentally during this sole rest period. As a result, the game of snakes entered the publics
6、 view。 The theme of this graduation project is the design of the Greedy Snake game。 The main contents of the game are divided into two parts: the game interface design and the game function design。 The game interface is designed to meet the audiovisual experience。 And the game function design is toa
7、dd some other featureson the basic of original。 The development language used in this graduation project is the Python language。 The Python language has a very rich library of functions and modules。 This design mainly uses the pygame module。Keyword:gluttonous snake;game;Python;Function library;pygam
8、e一、 概述游戏是当下社会十分推崇的一种娱乐方式,近年来,各式各样的游戏如雨后春笋般拔节而出,有些游戏披荆斩棘,脱颖而出,也有些游戏精疲力竭,隐于尘埃。但不管是哪种游戏,都为人们带去了欢声笑语。在工作学习之余,身心疲惫,大多数人会选择来一款有趣的游戏来放松放松疲惫不堪的内心;在生活闲暇时候,百无聊赖,很多人会打开久违的游戏来打发打发生锈的时光.当然,对人们来说,电影、音乐、阅读、旅游这些都是不错的娱乐方式,但随着社会发展的步伐在加快,这些传统的娱乐方式已经渐渐跟不上人们的娱乐需求了,游戏理所当然地走进了人们的视野。可以这么说,游戏,已经成为了生活中不可或缺一个东西,它能为人们带来很多生活中得不
9、到的乐趣和满足。贪吃蛇游戏作为一款深受大家喜爱的经典游戏,伴随着很多人的童年和青春,是很多年轻人甚至中年人的游戏起点,发展到现在,更是受到各阶层广大人群的热衷和追捧。1.1、 中国游戏产业的现状近年来,随着科技的飞速发展,人民生活水平的日益提高,人们对生活品质的要求日渐愈高,在娱乐休闲方式的选择上也变得更加多元化,游戏产业就是其中最耀眼夺目的方式之一.由于中国拥有庞大的人口基数和较大产业自由,再加上中国的市场开放度高,因此游戏产业在中国的市场上取得了令人瞩目的发展成果.根据新华网发布的2017中国游戏产业发展报告指出,社会对游戏娱乐消费支出不断增加,有效带动了游戏娱乐行业和游戏实体产品行业的快
10、速发展.通过数据来看,2017年,中国游戏行业总收入约为2189。6亿元,同比增长23。1。 其中,网络游戏贡献游戏行业收入较大,全年估计约为2011亿元,同比增长23。1%;VR游戏收入约为4亿元,比去年同比增长28。2;游戏实体产品收入约为176.6亿元,同比增长23。9%.从游戏用户规模上来看,2017年,中国网络游戏用户市场增速稍有放缓. 其中,客户端游戏用户数量约为1。5亿,与2016年相比略有增长; 手机游戏用户约4.6亿,同比增长9%;VR游戏用户数量约为4000万,同比增长100;电竞游戏用户数约2.2亿,同比增长69.2%。1.2、 中国游戏产业的未来发展局势正如我们所知道的
11、,电子游戏起源于西方,已经有了近50年的历史,然而对于中国来说,发源于上世纪90年代后期的游戏产业还是个刚刚出生不久的婴儿,只是这个婴儿在短短二十年几年内已经成长的十分强壮.从最初的“游戏产业的史前时期”,到1994年中国内地游戏的“元年”,再到网络游戏异军突起的“网游时代”,中国游戏产业的发展可以说是举世瞩目,让人瞠目结舌。2017年新华网发布的2017中国游戏产业发展表示出,中国游戏产业的经济效益可以说是日益倍增,并且势头不减,相比于当初的“史前荒芜时代”来说,中国游戏产业取得的巨大发展是显而易见的。由此可知,未来几年中国游戏产业的发展必将又是一路高歌猛进。再而言之,国家和政府的有效引导将
12、继续推动高质量、高内容、高创新的原创精品游戏的研发;随着市场规模继续、持续地增长,将逐渐推动者中国的游戏产业朝着更加专业化、商业化和产业化的方向发展;长此以往,游戏产业必将成为中国文化海外输出的重要形式。1.3、 贪吃蛇游戏的发展状况1997年,诺基亚工程师TaneliArmanto为诺基亚N6610手机写了一款贪吃蛇程序,命名为Snake,中译贪吃蛇。而后,在我们更加熟悉的诺基亚3310等机型上,安装了升级版的Snake II.2000年,诺基亚重写了程序Snake EX,安装在同年发行的诺基亚9200上。近十年来,贪吃蛇游戏以各种形式出现在各大游戏网站,模式新颖,层出不穷,吸引了数以亿计的
13、游戏爱好者前来游玩。2016年,贪吃蛇大作战横空出世,火爆一时.同年,腾讯游戏推出疯狂贪吃蛇网络游戏,下载量居高不下。如此种种,使得贪吃蛇游戏成为国内外游戏史上传播最广泛的作品之一.二、 开发工具的简介2.2.1、 Python3.2 IDLE简介在本次毕业设计中,系统开发平台为windows7(64bit),程序设计语言为Python语言,程序运行环境为Python3。2.Python版本一般来说可以分为两大类:Python2+和Python3+。这两种版本上几乎相同,只是Python2+是原始版本,拥有更完善的功能,而Python3+是比较新的版本,语言和语法更完善,更简洁,函数库也更庞大
14、,因此,这二者可以说各有作用,适用于不同的程序设计.IDLE是由Python软件包自带的集成开发环境。用户可以使用它来方便地创建、运行、测试和调试Python程序。IDLE是Python的标准发行版,原始功能由Guido van Rossum亲自编写,经过其他人补充完整。 打开IDLE后,会出现一个增强的交互式解释器窗口. 另外,还有一个基于Python的编辑器、浏览器和调试器。 点击顶部下拉菜单的虚线将移动菜单到它自己的永久窗口。IDLE的调试器提供断点、步进和变量监控功能。IDLE为开发人员提供了许多有用的功能,例如自动缩进,IDLE很清楚python的缩进语法(python要求代码块缩进
15、),会根据需要自动缩进;还有语法高亮,单词自动补充等等功能,借助这些功能,我们可以有效提高软件的开发效率。另外,IDLE使用颜色区分语法来突出显示代码.Python语言内置函数是紫色的,字符串为绿色,关键字为橙色,所有生成的结果都以蓝色显示,当然,这些颜色都是默认的,可以通过改变首选项来进行调整。2.2、 Python3.2开发过程Python是一种解释性语言,它不需要如C或C+之类的被编译成二进制代码,它可以直接从源代码运行程序。当我们运行Python文件程序的时候,文件源代码首先被Python解释器翻译成字节码,然后再交给Python字节码虚拟机来解释这些字节码,最后有Python运行输出
16、Result,如图2-4原理图所示.图21Python原理图三、 需求分析3.3.1、 可行性分析可行性分析(The Feasibility Analysis)又称可行性研究,是在系统研究新系统的基础上发展起来的,从技术,经济,工程等方面来研究新系统的必要性和可能性。 通过调查研究和分析比较,确保新系统开发成功。 可行性研究的目的是用最小的代价在最短的时间内确定问题能否在最短的时间内得到解决。该系统的可行性分析包括以下三个方面。3.1、1. 技术可行性技术可行性主要分析现有的技术条件是否可以顺利完成开发工作,软硬件是否可以满足开发人员的需求等等。 我们设计的贪吃蛇游戏是以Python语言作为这
17、个系统的主要开发工具,使用Python语言中丰富的库函数和独特的pygame,tkinter等模块来完成构建地图的过程和演示算法。它同时具有了高级语言和低级语言的优点,是一种面向对象的编程语言。它保证了代码的模块化要求,代码的模块化改进非常有利于未来对新系统进行扩展和修改。总之,在现有技术和硬件条件下的系统设计和开发是符合要求的,因此本系统在技术上是可行的。3.1、2. 经济可行性本系统是一个小型的贪吃蛇单机游戏,系统的编写和运行对计算机软件和硬件的要求较低,可以在个人笔记本电脑上独立完成代码编写、系统测试和游戏运行等制作过程,对经济的要求较低,因此,本系统在经济上是可行的。3.1、3. 运行
18、可行性本系统作为一个小型的贪吃蛇游戏,所消耗的资源是非常小的,无论是学校的电脑还是自己的笔记本电脑,在硬件和软件上都能够满足编写和运行的基本条件,因此,这个系统在运行上是可行。3.3.1.3.2、 功能性分析游戏是人们生活中不可缺少的一部分,在人们成长的过程中,游戏经常伴随着我们,它占据我们生活中的地位不可撼动。 无论是玩具还是可以与小伙伴们一起玩的小游戏,它都能为我们带来美好的回忆. 所以不管是什么样的游戏,只要满足人们内心的一些美好需求,它的市场就一定会非常好.3.2.3.3.3.2、1. 简单性贪吃蛇游戏是一款十分简单的小游戏,但其能带给人们的作用是非常大的。首先,它可以放松我们的身心,
19、让我们摆脱繁重冗杂的生活,只有我们的身体和心灵都可以编的轻松愉悦,我们才能更好地融入新的工作和生活.当下很多人都面临着巨大的压力。在这样的时刻,贪吃蛇这简单的小游戏款游戏给了我们随时随地娱乐放松的机会。虽然现在市场上的贪吃蛇游戏的版本越来越多,但这款游戏的市场仍然很大,原因就在于它的简单性。对于那些整日奔波忙碌的工作人来说,他们显然不可能在大型游戏上花费大量时间,但小型游戏却恰好能够满足他们的娱乐的需求,并且,随着游戏进度的加快,其刺激性也变得越来越强。可以说,贪吃蛇这个游戏的优势不仅在于它简单易学,而且在于它运行平稳快速。但其缺点也主要在于其简单性。游戏本身太简单,无法比拟大型游戏的丰富度和
20、趣味性,但这种小型游戏的主要目的是为那些需要一些小玩意儿来协调生活的人带来更多的精彩。3.2、2. 趣味性人们可能都会有这样的疑问:这样一个小游戏,应该没啥好玩的吧!确实,不得不承认,相较于大型游戏来说,贪吃蛇游戏在趣味和丰富度上有所欠缺。但我们不能否认它的趣味性。忙碌一天的人们,花费大量的时间在大型游戏上是不切实际的,这个时候人们自然会想到像贪吃蛇这样的小游戏,不但不会占用很多的空闲时间,而且可以让身体和心灵得到充分的休养。那么,说了这么多,贪吃蛇的乐趣到底在哪儿呢?当人们开始玩这款游戏的时候,刚开始贪吃蛇的身体会比较短小,运动的空间相对来说比较大,但是随着贪吃蛇不断地吃到食物,身体慢慢变长
21、,导致能够活动的空间越来越小,又不能触碰墙壁、障碍物和自己的身体,自然会使游戏的刺激性增加,再加上在本游戏设计中,功能性食物的加入,使的贪吃蛇生存的不稳定性增加,以及还有游戏中得分的增加,吸引着人们对分数产生追求,游戏的可玩性自然而然地也会随之增加。四、 概要设计4.4.1、 功能介绍贪吃蛇游戏主要就是在屏幕区域内绘制出一条小蛇,并且在与蛇不重合的屏幕区域内随机出现一个食物,游戏者通过键盘操纵游戏小蛇上下左右移动来吃到食物,当食物成功被小蛇吃到后,会在另外的区域再重新刷新出食物,而小蛇由于吃到食物,身体会增长.在游戏中,小蛇如果撞到墙壁和障碍物或者交叉撞到自己的身体,则游戏结束。贪吃蛇游戏设计
22、的关键点在于蛇的图形组建和蛇的运动轨迹绘制。使用一个小的矩形块(rect属性)代表蛇的身体的一部分. 身体每增长一部分,添加一个新的矩形块. 蛇的头由四部分代表。必须从蛇的头部开始移动,所以蛇不能反方向移动,也就是尾巴不能变成蛇头.如果你不按任何键,蛇就会以当前的方向向前移动。当玩家按下有效的箭头键时,蛇头按指定的方向移动,一次移动身体一部分。当玩家按下有效的箭头键时,首先要确定蛇头的位置,然后身体随着蛇头运动,实现图形就是蛇头从新的位置开始画一条蛇.蛇头按指定的方向移动,一次移动身体一部分。 所以当按下有效的箭头键时,首先要确定蛇头的位置,然后身体的每一部分都随着前一部分的变化而变化,后一个
23、覆盖前一个的位置,使贪吃蛇看起来好像是在到处移动.食物的出现和消失也是按照绘制矩形块并且覆盖矩形块来实现。4.2、 概要设计图通过对贪吃蛇的需求分析和功能设计,我们设计出游戏概要图如图4-1所示:图4-1 概要设计图4.2、1. 画面设计1) 游戏的界面构造主要包括游戏运行界面尺寸(bg_size)的定义,背景幕布(background)的覆盖,以及墙壁(wall)和障碍物(obstacle)的添加。其中墙壁是沿着界面的边缘四周依次排列,障碍物是在墙壁以内的位置随机生成;2) 另外,在界面设计中还添加了开始界面、暂停界面和结束界面。开始界面时,界面上出现英文:操作提示和“点击任意键开始游戏”提
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Python 贪吃 游戏 设计
限制150内