导语
之前写了第一版的坦克大战小游戏之后,就经常会收到私信问我坦克大战有没有做过更新之类的问题,或者有没有更详细的教程(这个估计不会有了,因为写起来太麻烦了,而且感觉总是吃力不讨好的样子T_T)。但是想想也就花点时间弄一下吧!(疯狂打脸)
相关文件
关注小编,私信小编领取源码哟~
当然记得一键三连哈~~~
开发工具
Python版本:3.6.4
相关模块:
pygame模块;
以及一些python自带的模块。
安装环境
安装Python并添加到环境变量,pip安装需要的相关模块即可。
更新介绍
PS:因为代码我已经做了比较详细注释,这里就不细讲原理了。
1.代码结构优化
别问,问就是我忘了当初写代码的思路了,所以干脆重写了一版作为之前版本的升级版。现在的代码结构介绍如下:
Game5.py:游戏运行主程序.
cfg.py:游戏配置文件, 主要用来记录游戏素材路径等游戏基本信息.
resources:用于放游戏素材(音频, 图片, 字体等).
modules:
--interfaces:定义游戏开始, 切换和结束界面.
--levels:放游戏各关卡的地图.
--sprites:定义所需的游戏精灵, 如坦克, 子弹, 大本营等等.
--GameLevel.py: 每个关卡的运行主程序, 由Game5.py文件调用.
2.游戏界面优化
加了一些估计价值三毛的特效,譬如开始界面现在是这样了:
游戏切换界面现在是这样了:
游戏主界面添加了一些数据方便玩家查看游戏操作方式和当前的游戏进度:
以及最后的游戏结束界面优化:
3.添加新的关卡地图更加方便
只需要在levels文件夹中新建一个.lvl文件,然后按照我给出的地图格式模板进行修改即可:
简单解释一下模板含义:
"#"开头的行均为注释行
%TOTALENEMYNUM:本关敌方坦克总数量.
%MAXENEMYNUM:场上敌方坦克最大数量.
%HOMEPOS:我方大本营坐标.
%HOMEAROUNDPOS:我方大本营邻近点坐标.
%PLAYERTANKPOS:我方坦克的出生位置.
%ENEMYTANKPOS:敌方坦克的出生位置.
接下来26*26的矩阵为游戏地图, 其中S代表空地, B代表砖墙,
R代表河流, T代表树, I代表铁墙, C代表冰地.
Flag:后续有时间的话,我会在游戏开始界面添加地图自行DIY选项,就像原版的坦克大战一样来自己DIY游戏地图并进行游戏~
4.游戏体验优化以及BUG修复
(1) 解决了坦克在一些岔道口转弯困难的问题;
(2) 添加了和原版一样的坦克被摧毁后的爆炸特效;
(3) 修复了多人模式中坦克复活的BUG;
(4) 修复了坦克子弹存在的潜在BUG;
(5) 修复了部分食物功能存在的BUG;
(6) 坦克保护状态时特效优化;
(7) 完善了地图元素的功能支持(冰地上加速, 在树林里会看不见坦克等等);
(8) 其他代码细节优化。
OK,大概就这些吧。完整源代码自己看相关文件呗~
需要代码的可以找小编领取的哟,当然别忘了你的一键三连哈~~~
Original: https://blog.csdn.net/Gtieguo/article/details/117594774
Author: 彳余大胆
Title: 惊!年轻博主和小坦克过不去,又更新版本
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/784499/
转载文章受原作者版权保护。转载请注明原作者出处!