Python实现坦克大战
发表时间:2020-10-19
发布人:葵宇科技
浏览次数:51
Python实现坦克大年夜战
一、媒介
前段时光,也就是国庆节。在卧室闲来无事,用pygame写了一个小游戏,就是标题写的《坦克大年夜战》。这个游戏写了两个版本,第一个版本是按照书上的思惟来写的,发明写到后面的时刻代码太乱了。于是我又大年夜头开端,用比较合理的面向对象思惟从新写了一个版本。说比较合理也执偾相符我本身的思惟,所以不免会有一些不合理的设计,程度有限,欲望各位读者可以或许谅解一下。
二、开辟情况
我们先来看看我的开辟情况,用的器械照样比较简单的:
作者:Zack
时光:2020年10月16日
集成开辟对象:pycharm 2020
开辟情况:python 3.7.9
第三方模块:pygame
个中我还用了一些第三方模块,然则在游戏主体中没有应用,所以就先不介绍了。下面我们来看看竽暌刮戏实现了些什么功能。
三、项目介绍
3.1 项目截图
我们主法度榜样人口在main.py文件,在安装好pygame模块后就能直接运行。下面是运行截图:
下面是枪弹击中墙壁的爆炸效不雅:
下面是多个敌方坦克的效不雅图:
我们再来看看项目标各个文件。
3.2 项目文件
下面是项目目次:
(1)resources
个中resources是资本文件,音频、图片等都在resources目次。而tools中供给了两个小对象,因为只是供小我临时应用的,这里不过多说清楚明了。
(2)main.py
而main.py则是项目标主人口,代码很短:
from tank_war import TankWar
if __name__ == '__main__':
tankWar = TankWar()
tankWar.run_game()
我们直接创建了TankWar的实例,然后调用run_game办法运行游戏。
(3)tank_war.py
tank_war.py中写了我们坦克大年夜战游戏主体的模块,琅绫擎的TankWar类定义了游戏主体的一切行动。包含初始化屏幕、初始化pygame模块、创建敌方坦克、绘制地图、检测碰撞、监听事宜等。
(4)sprites.py
在pygame中供给了一个sprite类用于创建有图像的物体。而sprites中定义的都是sprite的子类,是以也都是有图片的类。个中包含坦克基类、豪杰类(我方坦克)、仇敌类(敌方坦克)、枪弹类、墙类等。
而各个类中定义了各自的行动,例如:坦渴攀类有发射枪弹的行动、移动的行动、爆炸的行动等。
(5)settings.py
settings.py中定义了一些设置信息,包含枪弹的数量、枪弹的速度、坦克的速度、地图信息、图片信息等。我们可以经由过程修改settings.py来调剂游戏的一些设置,因为还没有写设置相干的操作,所以须要修改源码。
因为代码比较多,这里就不介绍代码了。游戏还要很多不足之处,后续会持续更新。项目已上传GitHub,迎接各位来fork。今天就介绍到这里了~
项目地址:https://github.com/IronSpiderMan/TankWar
pygame文档地址:https://www.pygame.org/docs/
本文来源"大众,"号:新建文件夹X,转载请标明出处。