Python实现坦克大战 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 技术分享 >

Python实现坦克大战

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:41

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,转载请标明出处。

相关案例查看更多