基于pygame的坦克大战小游戏
目录
基于pygame的坦克大战小游戏
一:开发环境
二、项目介绍
2.1完成功能:
2.2项目截图 :
2.3项目文件
一:开发环境
我们先来看看我的开发环境,用的东西还是比较简单的:
作者:嘟粥yyds
时间:2022年12月3日
集成开发工具:PyCharm 2021.1.3
集成开发环境:python 3.10.6
第三方模块:pygame、pygame_menu、Image、ImageSequence
二、项目介绍
2.1完成功能:
- 菜单选择:用户可以根据菜单进行选择,提高了程序的交互性。
- 多种模式:提供了关卡模式(设有35个关卡)、无尽模式、单挑模式、建造模式。
- 地图编辑:用户可以用键盘自由编辑地图,增加玩家趣味性。
- 简单敌人AI:敌人有简单的AI行为,如:发射子弹、漫步等。
- 动画效果:坦克在受到攻击时的爆破效果;敌方坦克复活的简单动画。
- 游戏循环:同一般软件不同,游戏需要采用主循环来更新场景状态并重绘屏幕。本程序以60FPS的帧率刷新
2.2项目截图 :
主程序入口在main.py文件,在安装好pygame、pygame_menu等模块后就能直接运行。下面是运行截图:
下面是游戏开始正式运行的效果截图:
2.3项目文件
(1)image、init、music
image是该项目所需的图片资源,init是项目加载时的效果图片资源,music是该项目所需的音乐资源。而批量修改图片尺寸和解析GIF均为临时使用的两个工具,不做解释。
(2)main.py
而main.py则是项目的主入口。主要进行初始界面菜单的加载。创建game_loader对象,然后根据在初始界面选择的模式运行相对应的方法。以下为main.py的大体框架:
(3)game_loder.py
game_loder.py中写了我们坦克大战游戏主体的模块,里面的TankWar类定义了游戏主体的一切行为。包括初始化屏幕、初始化pygame模块、创建敌方坦克、绘制地图、检测碰撞、监听事件等。
以下为game_loder.py的大体框架:
(4)其他模块均为对象描述
bulletClass.py:该模块为子弹类的描述
enemyTank.py:该模块为敌方坦克类的描述
food.py:该模块为道具(敌方坦克所携带的奖励)类的描述
map_loader.py和maps.py均为地图加载模块
special_effects.py:为特殊效果(爆炸、保护罩等)模块
wall.py:该模块描述的是地图元素(砖块、石头等)
因为代码比较多,这里就不介绍代码了。游戏还有许多不足之处,后续会继续更新。项目即将上传GitHub,欢迎各位来fork。今天就介绍到这里了~
项目地址:0911duzhou/python- · GitHub
pygame文档地址:https://www.pygame/docs/
更多推荐
Python实现坦克大战(附源码)
发布评论