zl程序教程

您现在的位置是:首页 >  其他

当前栏目

基于Pygame的兔獾大战游戏的设计与实现_kaic

游戏pygame 实现 基于 设计 大战 kaic
2023-09-27 14:21:04 时间

当今社会是一个信息社会且时代发展迅速,时代发展迅速伴随而来的是越来越大的压力,所以通过游戏解压的需求越来越大,游戏也逐渐成为人们日常的娱乐方式。兔獾大战游戏设计了简单的游戏界面和容易让用户理解的游戏操作方式,使得用户可以更好的进行游戏体验。兔獾大战中兔子守卫兔子堡垒的概念可以更好的激发用户的团结意识,此外,游戏用户通过操纵鼠标并控制兔子射击正在移动的獾,满足在放松的同时也可以更好的锻炼用户的反应能力和方向感。游戏中射击的动作音效能赋予用户身临其境的体验感,让用户在游戏中感到愉悦放松。伴随着时代的发展,游戏的普及,越来越多的人接受并享受游戏带来的娱乐体验。
该游戏使用了Python作为基础语言,Pycharm作为集成开发环境。Python Pygame 是一款专门为开发和设计2D电子游戏而生的软件包,使用Pycharm可以导入Pygame来开发具有全部特性的游戏和多媒体软件,Pygame是极度轻便的并且可以运行在几乎所有的平台和操作系统上。在此基础上搭建设计了兔獾大战游戏。

关键词:Pygame;Pycharm;兔獾大战;游戏
 
Design and implementation of Rabbit Badger Wars game based on Pygame
Abstract
The Internet is a very hot topic at present. Today, when the Internet is very popular, it has greatly enriched our lives and brought us great convenience. Today's society is an information society and the times are developing rapidly. The rapid development of the times is accompanied by increasing pressure. Therefore, the demand for decompression through games is increasing, and games have gradually become people's daily entertainment. Rabbit Bad Wars Game is designed with a simple game interface and an easy-to-understand game operation mode, so that users can have a better game experience. The concept of rabbit guarding the rabbit fortress in the rabbit war can better stimulate the user's sense of unity. In addition, the game user can better exercise the user's reaction ability and sense of direction by manipulating the mouse and controlling the rabbit to shoot the moving otter. The action sound performance of shooting in the game gives users an immersive experience and makes users feel happy and relaxed in the game. With the development of the times and the popularity of games, more and more people accept and enjoy the entertainment experience brought by games.
The game uses Python as the basic language and Pycharm as the integrated development environment. Python Pygame is a software package specially designed for the development and design of 2D video games. Pycharm can be used to import Pygame to develop games and multimedia software with all the features. Pygame is extremely light and can run in almost all Platform and operating system. On this basis, the rabbit war game was built and designed.

Key Words:Pygame;Pycharm;Rabbit Badger Wars;Game

 
目   录
1 绪   论
1.1 研究背景及其意义
1.2 国内外发展趋势及现状
1.2.1 国内外发展现状
1.2.2 基于Pygame的小游戏发展趋势
2 需求分析
2.1 游戏概要
2.2 主要技术
2.2.1 框架:Pygame
2.2.2 基础:SDL
2.3 功能需求
2.3.1 总体功能
2.3.2 玩家移动兔子
2.3.3 獾出现撞击
2.3.4 游戏时间设置
2.3.5 游戏血条控制
2.3.6 游戏开始与结束
2.3.7 游戏音效播放
2.4 性能需求
3 系统设计
3.1 总体结构
3.2 界面设计
3.3 玩家控制设计
3.4 流程设计
4 系统实现
4.1 兔子移动功能实现
4.1.1 功能实现原理
4.1.2 兔子移动实现
4.2 游戏主控类实现
4.2.1 实现原理
4.2.2 主控类实现
5 系统测试
5.1 系统测试的原理与目的
5.2 游戏测试的设计
5.3 测试环境
5.4 测试记录
6 总结与展望
6.1 论文总结
6.2 展   望
参考文献
致   谢
附   录
 
1 绪   论
1.1 研究背景及其意义
当今社会是一个信息社会且时代发展迅速,时代发展迅速伴随而来的是越来越大的压力,所以通过游戏解压的需求越来越大,游戏也逐渐成为人们日常的娱乐方式。本课设研究制作的游戏兔獾大战,设计了简单的游戏界面和容易让用户理解的游戏操作方式,使得用户可以更好的进行游戏体验。兔獾大战中兔子守卫兔子堡垒的概念可以更好的激发用户的团结意识,此外,游戏用户通过操纵鼠标并控制兔子射击正在移动的獾,满足在放松的同时也可以更好的锻炼用户的反应能力和方向感。游戏中射击的动作音效能赋予用户身临其境的体验感,让用户在游戏中感到愉悦放松。游戏开发是当今时代的主流,本课设通过兔獾大战的研究制作可以让人们更好的了解由Pygame制作的小游戏,而Pygame作为Python的一个第三方库,它搭载了基于OpenGL的图形库和优质的音频库,大大提高了游戏开发的效率,使得开发者可以快速上手制作2D游戏的原型。在本次开发过程中开发者会涉及到计算机图形学、数学、物理学甚至人工智能等高级软件开发技术。因此,游戏开发是一个既有趣又有挑战性的软件开发领域。
1.2 国内外发展趋势及现状
1.2.1 国内外发展现状
1.2.1.1 国外发展现状
Pygame是跨平台的Python模块,专为电子游戏设计,包含图像、声音。创建在SDL基础上,所有的资源结构都可以由Python等高级语言提供。在2000年,作者PeteShinners被Python与SDL的简洁打动,萌生了将二者合二为一的想法。当时已经有一位名为MarkBaker的程序员将二者结合开发出了PySDL,但Pygame的作者对此并不满意,随后PySDL库失败,PeteShinners也顺利成章的展开了自己的新项目Pygame。Pygame作为Python的优秀的扩展库之—,吸引了越来越多的开发者使用Pygame来进行游戏开发。国外著名的游戏开发者比尔沃尔克曾经对游戏设计写下了一个等式“界面+产品要素=游戏”,强调在游戏设计中界面的重要性。提到界面人们很容易将软件与之联系在一起,这是狭义上的界面设计。从广义上讲界面又称用户界面,是指人与物之间相互施加影响的区域。设计的界面存在于人和物信息交流的一切领域,例如我们用电脑的时候显示屏、输入设备就是这个界面。优秀的界面能让用户在游戏过程中能真正的享受人机交流和人性化的操作带来的愉悦,所以本课题在设计中第一步一定是根据需要搭建好游戏界面,然后再插入游戏所需的素材。除界面之外IDEO的一位创始人比尔莫格里奇在1984年的一次设计会议上首次提出交互设计的概念,对于计算机游戏而言,交互过程实际上是一个向计算机输入和向用户输出的过程,由于输入输出的途径是多样的,因此交互的方式也是多样化的。本身游戏的意义就是放松娱乐大众的,所以课题设计游戏时考虑人机交互人的体验感是非常重要的,课题设计中会充分了解交互的多样性去设计兔和獾的多种形态功能动作增大人们的体验感。然而在这些研究基础上现在市面上也已经有非常多我们熟知的比如飞机大战、贪吃蛇、扫雷等等很多火爆的Pygame小游戏。所以越来越多的人也用Pygame来复刻经典游戏,比如植物大战僵尸,该游戏复刻中就是先搭建了游戏界面然后根据游戏原有的功能插入各种植物和僵尸形象,并设置循环为它们设计相应的动作,让僵尸移动攻击然后植物攻击守卫,为了更好的交互体验复刻作者也有加入很多新鲜好玩的功能。所以根据这样的事例可以类比本次研究的课题,同样的去搭建自己的界面,类比植物大战僵尸的守卫移动进攻去为课题设计中兔子和獾设计动作功能。查询资料得知本课题的兔獾大战最初就是源于美国硅谷院校的编程教材,是一位12岁的孩子写的游戏,游戏中最后他是简单设计了计时来控制游戏进度,其实根据了解思考使用Pygame设计,游戏形式可以有很多,也可以改成通过游戏射击分数累加或者减少来控制游戏是否结束,或者也可以通过射杀数量来控制进度等等,所以本课题设计会从多个方面进行相关的实施测试,更好的去体会Pygame设计游戏的过程。
1.2.1.2 国内发展现状
相对于国外的计算机发展国内可能最初比较滞后,一直到2000年网络游戏问世并流行我国的游戏行业才渐渐的复苏。其中由于国内游戏是一个新兴产业绝大多数的游戏引擎都是代理国外的,国内也意识到网络游戏的重要性,并且与2003年首次将网络游戏技术研发这类文化产业纳入“863计划”。随着盛行也有越来越多的国内学者加入研究的行列。国内的学者刘班也在基于Pygame快速开发游戏软件软件中阐述了Pygame进行开发的基本过程,定义游戏场景的背景图片和鼠标光标图片,导入Pygame开发库从而可以让开发者在后续代码中使用该库包含的各种子模块,在课题设计中首先要建立一个程序窗口,将游戏场景图片文件和鼠标光标文件导入,随后完成初始化工作,然后进入游戏程序的主循环,在循环中实现游戏的各个功能。由此可见在Pygame的帮助下游戏开发变得简单,基于Pygame的开发几乎不用做任何修改就可以运行于各种主流操作系统平台之上。此外,本课题研究除了最基本的框架Pygame还涉及了2d游戏的开发、屏幕图像显示、图像绘制移动碰撞等问题。在国内学者王征关于2d游戏图形设计中详细介绍了屏幕绘制渲染原理图,在课题设计过程中必须清楚并对图形背景、物体、动画、层次位置进行初始化,然后对用户的输入进行检测以便根据玩家的意图来改变游戏的运行状态,并且通过游戏的管理控制界面对用户的输入请求进行处理。处理完后通过游戏的屏幕渲染机制更新屏幕的显示,当退出游戏时,清除初始化时载入的所有图形、声音以及数据并释放内存。除此之外本课题也涉及了鼠标控制精灵的问题,游戏中需要用鼠标控制物体的移动以达到我们想要的游戏效果。国内也有许多相关的研究专利,比如联宝电子科技有限公司的输入组件、键盘及基于键盘实现鼠标控制的方法;孙令敏的一种鼠标控制方法、装置、设备及存储介质等等。所以本毕设看似就是个简单的游戏实现,其实不然。越是看似简单的东西越是基于前人多年的研究实践,其所涉及的也是方方面面,课题研究中除了享用前人的设计成果,我们也应该进行更深的思考。所以在已有的关于兔獾大战概念基础上,本课题会对兔獾形象进行不同理解的改进,原作者考虑的可能只是一个游戏实现,本课题会在现有技术的支持下进行不同的游戏实现形式的调试,希望可以在游戏开发方面有更深的领悟。
1.2.2 基于Pygame的小游戏发展趋势
随着互联网发展,游戏正逐渐成为人们日常的娱乐方式,玩游戏是一种低投入高回报的放松身心的方式,生活上的种种压力、学习上的压力、上班的压力都可以在游戏上发泄出来。所以现在游戏开发也成为软件开发领域的重要分支。我们常见的2D小游戏是通过Pygame完成。Pygame是Python的一个第三方库,搭建了基于OpenGL的图形库和优质的音频库,可以快速上手制作2D游戏的原型,Pygame的API比较偏底层,开发人员在编程时具有很大的自由度,同时具有了很强的可定制性,所以越来越多的人选择使用Pygame来开发设计小游戏。
1.3 本文组织架构
本文主要详细介绍了基于Pygame的兔獾大战小游戏的设计与实现。
第1章主要介绍了本课题的研究背景及其意义,
1.4 本章小结
本章首先介绍了项目的研究背景和本课题的研究意义。分析了课题国内外研究现状,根据研究现状给出了基于Pygame的小游戏的发展趋势。最后对该论文的整体组织架构进行了阐述.