Python实现坦克大战(附源码)

基于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完成功能:

  1. 菜单选择:用户可以根据菜单进行选择,提高了程序的交互性。
  2. 多种模式:提供了关卡模式(设有35个关卡)、无尽模式、单挑模式、建造模式。
  3. 地图编辑:用户可以用键盘自由编辑地图,增加玩家趣味性。
  4. 简单敌人AI:敌人有简单的AI行为,如:发射子弹、漫步等。
  5. 动画效果:坦克在受到攻击时的爆破效果;敌方坦克复活的简单动画。
  6. 游戏循环:同一般软件不同,游戏需要采用主循环来更新场景状态并重绘屏幕。本程序以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.org/docs/

猜你喜欢

转载自blog.csdn.net/zzp20031120/article/details/128167336