基于Python的贪吃蛇游戏设计.pdf
《基于Python的贪吃蛇游戏设计.pdf》由会员分享,可在线阅读,更多相关《基于Python的贪吃蛇游戏设计.pdf(28页珍藏版)》请在咨信网上搜索。
1、基于 Python 的贪吃蛇游戏设计本科毕业设计本科毕业设计(论文论文)(20182018 届届)题目题目:基于:基于 PythonPython 的贪吃蛇游戏设计的贪吃蛇游戏设计学院:数理与信息工程学院学院:数理与信息工程学院专业:计算机科学与技术专业:计算机科学与技术班级:班级:*作者姓名:作者姓名:*磊磊学号:学号:*指导老师:指导老师:*职称:职称:讲师讲师基于 Python 的贪吃蛇游戏设计浙江师范大学本科毕业设计浙江师范大学本科毕业设计(论文论文)正文正文目录目录摘要.3Abstract.3一、概述.41.1、中国游戏产业的现状.41.2、中国游戏产业的未来发展局势.41.3、贪吃蛇
2、游戏的发展状况.5二、开发工具的简介.52.1、Python3.2 IDLE 简介.52.2、Python3.2 开发过程.6三、需求分析.63.1、可行性分析.63.1、1.技术可行性.73.1、2.经济可行性.73.1、3.运行可行性.73.2、功能性分析.73.2、1.简单性.73.2、2.趣味性.8四、概要设计.84.1、功能介绍.84.2、概要设计图.94.2、1.画面设计.94.2、2.游戏过程.104.2、3.游戏结束.104.2、4.添加功能.10五、详细设计.115.1、程序设计分析.115.2、主要函数及模块.115.2、1.主要模块.111基于 Python 的贪吃蛇游戏
3、设计5.2、2.主要函数.125.3、主要代码.135.3、1.设计游戏界面.135.3、2.构建贪吃蛇.155.3、3.构建食物.175.3、4.碰撞检测.17六、测试与运行.196.1、运行程序.196.2、程序的调试和测试.21七、八、遇到的困难及解决过程.22结论.24参考文献.26致谢.272基于 Python 的贪吃蛇游戏设计基于基于 PythonPython 的贪吃蛇游戏设计的贪吃蛇游戏设计数理与信息工程学院 计算机科学与技术 洪磊(14190125)指导老师:宋炯(讲师)摘要摘要:现如今,人们生活节奏日益加快,繁忙冗杂的工作、学习和生活使人们的生活变的枯燥,没有新意,休息时间越
4、来越少。面对这样的生活,人们大都渴望在这仅有的休息时间里,找到一些能让身心放松的娱乐活动。于是,贪吃蛇这款游戏就进入了大众的视野。本次毕业设计的主题就是贪吃蛇游戏的设计,游戏的主要内容分为游戏界面设计和游戏功能设计两大部分,其中游戏界面设计以满足视听觉体验为主,游戏功能设计是在满足原有的贪吃蛇游戏基本功能的基础上添加一些其他的功能。本次毕业设计运用的开发语言是 Python语言,Python语言拥有十分丰富的函数库和模块库,本次设计主要运用其中的pygame模块。关键词:关键词:贪吃蛇;游戏;Python;函数库;pygameDesignofsnake game based on Python
5、Designofsnake game based on PythonCollege of Mathematics,Physics and Information Engineering,computer science and Technology,HongLei,14190125Tutor:SongJiong(lecturer)AbstractAbstract:Nowadays,peoples pace of life is accelerating,busy and tedious.work,study,and life make peoples lives boring,without
6、new ideasand less time for rest.Faced with thiskind of life,people are eager to find some recreational activities that can relax both physically andmentally during this sole rest period.As a result,the game of snakes entered the publics view.Thetheme of this graduation project is the design of the G
7、reedy Snake game.The main contents of thegame are divided into two parts:the game interface design and the game function design.Thegame interface is designed to meet the audiovisual experience.And the game function design istoadd some other featureson the basic of original.The development language u
8、sed in thisgraduation project is the Python language.The Python language has a very rich library offunctions and modules.This design mainly uses the pygame module.KeywordKeyword:gluttonous snake;game;Python;Function library;pygame3基于 Python 的贪吃蛇游戏设计一、一、概述概述游戏是当下社会十分推崇的一种娱乐方式,近年来,各式各样的游戏如雨后春笋般拔节而出,有些
9、游戏披荆斩棘,脱颖而出,也有些游戏精疲力竭,隐于尘埃。但不管是哪种游戏,都为人们带去了欢声笑语。在工作学习之余,身心疲惫,大多数人会选择来一款有趣的游戏来放松放松疲惫不堪的内心;在生活闲暇时候,百无聊赖,很多人会打开久违的游戏来打发打发生锈的时光。当然,对人们来说,电影、音乐、阅读、旅游这些都是不错的娱乐方式,但随着社会发展的步伐在加快,这些传统的娱乐方式已经渐渐跟不上人们的娱乐需求了,游戏理所当然地走进了人们的视野。可以这么说,游戏,已经成为了生活中不可或缺一个东西,它能为人们带来很多生活中得不到的乐趣和满足。贪吃蛇游戏作为一款深受大家喜爱的经典游戏,伴随着很多人的童年和青春,是很多年轻人甚
10、至中年人的游戏起点,发展到现在,更是受到各阶层广大人群的热衷和追捧。1.11.1、中国游戏产业的现状中国游戏产业的现状近年来,随着科技的飞速发展,人民生活水平的日益提高,人们对生活品质的要求日渐愈高,在娱乐休闲方式的选择上也变得更加多元化,游戏产业就是其中最耀眼夺目的方式之一。由于中国拥有庞大的人口基数和较大产业自由,再加上中国的市场开放度高,因此游戏产业在中国的市场上取得了令人瞩目的发展成果。根据新华网发布的2017 中国游戏产业发展报告指出,社会对游戏娱乐消费支出不断增加,有效带动了游戏娱乐行业和游戏实体产品行业的快速发展。通过数据来看,2017 年,中国游戏行业总收入约为 2189.6
11、亿元,同比增长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.21.2、中国游戏产业的未来发展局势中国游戏产业的未来发展局势正如我们所知道的,
12、电子游戏起源于西方,已经有了近 50 年的历史,然而对于中国来说,发源于上世纪 90 年代后期的游戏产业还是个刚刚出生不久的婴4基于 Python 的贪吃蛇游戏设计儿,只是这个婴儿在短短二十年几年内已经成长的十分强壮。从最初的“游戏产业的史前时期”,到 1994 年中国内地游戏的“元年”,再到网络游戏异军突起的“网游时代”,中国游戏产业的发展可以说是举世瞩目,让人瞠目结舌。2017 年新华网发布的2017 中国游戏产业发展表示出,中国游戏产业的经济效益可以说是日益倍增,并且势头不减,相比于当初的“史前荒芜时代”来说,中国游戏产业取得的巨大发展是显而易见的。由此可知,未来几年中国游戏产业的发展必
13、将又是一路高歌猛进。再而言之,国家和政府的有效引导将继续推动高质量、高内容、高创新的原创精品游戏的研发;随着市场规模继续、持续地增长,将逐渐推动者中国的游戏产业朝着更加专业化、商业化和产业化的方向发展;长此以往,游戏产业必将成为中国文化海外输出的重要形式。1.31.3、贪吃蛇游戏的发展状况贪吃蛇游戏的发展状况1997 年,诺基亚工程师 Taneli Armanto 为诺基亚 N6610 手机写了一款贪吃蛇程序,命名为 Snake,中译贪吃蛇。而后,在我们更加熟悉的诺基亚 3310 等机型上,安装了升级版的 Snake II。2000 年,诺基亚重写了程序 Snake EX,安装在同年发行的诺基
14、亚 9200 上。近十年来,贪吃蛇游戏以各种形式出现在各大游戏网站,模式新颖,层出不穷,吸引了数以亿计的游戏爱好者前来游玩。2016 年,贪吃蛇大作战横空出世,火爆一时。同年,腾讯游戏推出 疯狂贪吃蛇 网络游戏,下载量居高不下。如此种种,使得贪吃蛇游戏成为国内外游戏史上传播最广泛的作品之一。二、二、开发工具的简介开发工具的简介2.12.1、Python3.2 IDLEPython3.2 IDLE 简介简介在本次毕业设计中,系统开发平台为 windows7(64bit),程序设计语言为Python 语言,程序运行环境为 Python3.2。Python 版本一般来说可以分为两大类:Python2
15、+和 Python3+。这两种版本上几乎相同,只是 Python2+是原始版本,拥有更完善的功能,而 Python3+是比较新的版本,语言和语法更完善,更简洁,函数库也更庞大,因此,这二者可以说各有作用,适用于不同的程序设计。IDLE 是由 Python 软件包自带的集成开发环境。用户可以使用它来方便地创建、运行、测试和调试 Python 程序。IDLE 是 Python 的标准发行版,原始功能由 Guido van Rossum 亲自编写,经过其他人补充完整。打开 IDLE 后,会出现一个增强的交互式解释器窗口。另外,还有一个基于Python 的编辑器、浏览器5基于 Python 的贪吃蛇游
16、戏设计和调试器。点击顶部下拉菜单的虚线将移动菜单到它自己的永久窗口。IDLE 的调试器提供断点、步进和变量监控功能。IDLE 为开发人员提供了许多有用的功能,例如自动缩进,IDLE 很清楚python 的缩进语法(python 要求代码块缩进),会根据需要自动缩进;还有语法高亮,单词自动补充等等功能,借助这些功能,我们可以有效提高软件的开发效率。另外,IDLE 使用颜色区分语法来突出显示代码。Python 语言内置函数是紫色的,字符串为绿色,关键字为橙色,所有生成的结果都以蓝色显示,当然,这些颜色都是默认的,可以通过改变首选项来进行调整。2.22.2、PythonPython3.23.2 开发
17、过程开发过程Python 是一种解释性语言,它不需要如 C 或 C+之类的被编译成二进制代码,它可以直接从源代码运行程序。当我们运行 Python 文件程序的时候,文件源代码首先被 Python 解释器翻译成字节码,然后再交给Python 字节码虚拟机来解释这些字节码,最后有 Python 运行输出 Result,如图 2-4 原理图所示。图 2-1Python原理图三、三、需求分析需求分析3.13.1、可行性分析可行性分析可行性分析(The Feasibility Analysis)又称可行性研究,是在系统研究新系统的基础上发展起来的,从技术,经济,工程等方面来研究新系统的必要性和可能性。通
18、过调查研究和分析比较,确保新系统开发成功。可行性研究的目的是用最小的代价在最短的时间内确定问题能否在最短的时间内得到解决。该系统的可行性分析包括以下三个方面。6基于 Python 的贪吃蛇游戏设计3.13.1、1.1.技术可行性技术可行性技术可行性主要分析现有的技术条件是否可以顺利完成开发工作,软硬件是否可以满足开发人员的需求等等。我们设计的贪吃蛇游戏是以 Python 语言作为这个系统的主要开发工具,使用 Python 语言中丰富的库函数和独特的 pygame,tkinter 等模块来完成构建地图的过程和演示算法。它同时具有了高级语言和低级语言的优点,是一种面向对象的编程语言。它保证了代码的
19、模块化要求,代码的模块化改进非常有利于未来对新系统进行扩展和修改。总之,在现有技术和硬件条件下的系统设计和开发是符合要求的,因此本系统在技术上是可行的。3.13.1、2.2.经济可行性经济可行性本系统是一个小型的贪吃蛇单机游戏,系统的编写和运行对计算机软件和硬件的要求较低,可以在个人笔记本电脑上独立完成代码编写、系统测试和游戏运行等制作过程,对经济的要求较低,因此,本系统在经济上是可行的。3.13.1、3.3.运行可行性运行可行性本系统作为一个小型的贪吃蛇游戏,所消耗的资源是非常小的,无论是学校的电脑还是自己的笔记本电脑,在硬件和软件上都能够满足编写和运行的基本条件,因此,这个系统在运行上是可
20、行。3.23.2、功能性分析功能性分析游戏是人们生活中不可缺少的一部分,在人们成长的过程中,游戏经常伴随着我们,它占据我们生活中的地位不可撼动。无论是玩具还是可以与小伙伴们一起玩的小游戏,它都能为我们带来美好的回忆。所以不管是什么样的游戏,只要满足人们内心的一些美好需求,它的市场就一定会非常好。3.23.2、1.1.简单性简单性贪吃蛇游戏是一款十分简单的小游戏,但其能带给人们的作用是非常大的。首先,它可以放松我们的身心,让我们摆脱繁重冗杂的生活,只有我们的身体和心灵都可以编的轻松愉悦,我们才能更好地融入新的工作和生活。当下很多人都面临着巨大的压力。在这样的时刻,贪吃蛇这简单的小游戏款游戏给了我
21、们随时随地娱乐放松的机会。虽然现在市场上的贪吃蛇游戏的版本越来越多,但这款游戏的市场仍然很大,原因就在于它的简单性。对于那些整日奔波忙碌的工作人来说,他们显然不可能在大型游戏上花费大量时间,但小型游戏却恰好能够满足他们的娱乐的需求,并且,随着游戏进度的加快,其刺激性也变得越来越强。可以说,贪吃蛇这个游戏的优势不仅在于它简单易学,而且在于它运行平稳快速。但其缺点也主要在于其简单性。游戏本身太简单,无法比拟大型游戏的丰富度和趣味性,但这种小型游戏的主要目的是为那些需要一些小玩意儿来协调生活的人带来更多的精彩。7基于 Python 的贪吃蛇游戏设计3.23.2、2.2.趣味性趣味性人们可能都会有这样
22、的疑问:这样一个小游戏,应该没啥好玩的吧!确实,不得不承认,相较于大型游戏来说,贪吃蛇游戏在趣味和丰富度上有所欠缺。但我们不能否认它的趣味性。忙碌一天的人们,花费大量的时间在大型游戏上是不切实际的,这个时候人们自然会想到像贪吃蛇这样的小游戏,不但不会占用很多的空闲时间,而且可以让身体和心灵得到充分的休养。那么,说了这么多,贪吃蛇的乐趣到底在哪儿呢?当人们开始玩这款游戏的时候,刚开始贪吃蛇的身体会比较短小,运动的空间相对来说比较大,但是随着贪吃蛇不断地吃到食物,身体慢慢变长,导致能够活动的空间越来越小,又不能触碰墙壁、障碍物和自己的身体,自然会使游戏的刺激性增加,再加上在本游戏设计中,功能性食物
23、的加入,使的贪吃蛇生存的不稳定性增加,以及还有游戏中得分的增加,吸引着人们对分数产生追求,游戏的可玩性自然而然地也会随之增加。四、四、概要设计概要设计4.14.1、功能介绍功能介绍贪吃蛇游戏主要就是在屏幕区域内绘制出一条小蛇,并且在与蛇不重合的屏幕区域内随机出现一个食物,游戏者通过键盘操纵游戏小蛇上下左右移动来吃到食物,当食物成功被小蛇吃到后,会在另外的区域再重新刷新出食物,而小蛇由于吃到食物,身体会增长。在游戏中,小蛇如果撞到墙壁和障碍物或者交叉撞到自己的身体,则游戏结束。贪吃蛇游戏设计的关键点在于蛇的图形组建和蛇的运动轨迹绘制。使用一个小的矩形块(rect属性)代表蛇的身体的一部分。身体每
24、增长一部分,添加一个新的矩形块。蛇的头由四部分代表。必须从蛇的头部开始移动,所以蛇不能反方向移动,也就是尾巴不能变成蛇头。如果你不按任何键,蛇就会以当前的方向向前移动。当玩家按下有效的箭头键时,蛇头按指定的方向移动,一次移动身体一部分。当玩家按下有效的箭头键时,首先要确定蛇头的位置,然后身体随着蛇头运动,实现图形就是蛇头从新的位置开始画一条蛇。蛇头按指定的方向移动,一次移动身体一部分。所以当按下有效的箭头键时,首先要确定蛇头的位置,然后身体的每一部分都随着前一部分的变化而变化,后一个覆盖前一个的位置,使贪吃蛇看起来好像是在到处移动。食物的出现和消失也是按照绘制矩形块并且覆盖矩形块来实现。8基于
25、 Python 的贪吃蛇游戏设计4.24.2、概要设计图概要设计图通过对贪吃蛇的需求分析和功能设计,我们设计出游戏概要图如图 4-1 所示:图 4-1概要设计图4.24.2、1.1.画面设计画面设计1)游戏的界面构造主要包括游戏运行界面尺寸(bg_size)的定义,背景幕布(background)的覆盖,以及墙壁(wall)和障碍物(obstacle)的添加。其中墙壁是沿着界面的边缘四周依次排列,障碍物是在墙壁以内的位置随机生成;2)另外,在界面设计中还添加了开始界面、暂停界面和结束界面。开始界面时,界面上出现英文:操作提示和“点击任意键开始游戏”提示;暂停界面时,界面上出现“点击空格键继续游
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Python 贪吃 游戏 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【鱼**】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【鱼**】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。