资源简介
Python的坦克大战的源代码,初学Python的小白练习和模仿,结构简单,明了,易懂。工程文件分开建造,测试阶段合理
代码片段和文件信息
‘‘‘
新增功能:
优化:1.如果子弹碰到墙壁,让子弹消失
2.最多可以发射3颗子弹,不能一直发射
‘‘‘
#导入pygame模块
import pygametimerandom
SCREEN_WIDTH=700
SCREEN_HEIGHT=500
BG_COLOR=pygame.Color(000)
TEXT_COLOR=pygame.Color(25500)
class MainGame():
window=None
my_tank=None
#存储敌方坦克的列表
enemyTankList=[]
#定义敌方坦克的数量
enemyTankCount=5
#存储我方子弹的列表
myBulletList=[]
def __init__(self):
pass
#开始游戏
def startGame(self):
#加载主窗口
#初始化窗口
pygame.display.init()
#设置窗口的大小及显示
MainGame.window=pygame.display.set_mode([SCREEN_WIDTHSCREEN_HEIGHT])
#初始化我方坦克
MainGame.my_tank=Tank(350250)
#初始化敌方坦克,并将敌方坦克添加到列表中
self.createEnemyTank()
#设置窗口的标题
pygame.display.set_caption(‘坦克大战1.03‘)
while True:
#使用坦克移动的速度慢一点
time.sleep(0.02)
#给窗口设置填充色
MainGame.window.fill(BG_COLOR)
#获取事件
self.getEvent()
#绘制文字
MainGame.window.blit(self.getTextSuface(‘敌方坦克剩余数量%d‘%len(MainGame.enemyTankList))(1010))
#调用坦克显示的方法
MainGame.my_tank.displayTank()
#循环遍历敌方坦克列表,展示敌方坦克
self.blitEnemyTank()
#循环遍历显示我方坦克的子弹
self.blitMyBullet()
#调用移动方法
#如果坦克的开关是开启,才可以移动
if not MainGame.my_tank.stop:
MainGame.my_tank.move()
pygame.display.update()
# 初始化敌方坦克,并将敌方坦克添加到列表中
def createEnemyTank(self):
top=100
#循环生成敌方坦克
for i in range(MainGame.enemyTankCount):
left=random.randint(0600)
speed=random.randint(14)
enemy=EnemyTank(lefttopspeed)
MainGame.enemyTankList.append(enemy)
# 循环遍历敌方坦克列表,展示敌方坦克
def blitEnemyTank(self):
for enemyTank in MainGame.enemyTankList:
enemyTank.displayTank()
enemyTank.randMove()
#循环遍历我方子弹存储列表
def blitMyBullet(self):
for myBullet in MainGame.myBulletList:
#判断当前的子弹是否是活着状态,如果是则进行显示及移动,
if myBullet.live:
myBullet.displayBullet()
# 调用子弹的移动方法
myBullet.move()
# 否则在列表中删除
else:
MainGame.myBulletList.remove(myBullet)
#结束游戏
def endGame(self):
print(‘谢谢使用,欢迎再次使用‘)
exit()
#左上角文字的绘制
def getTextSuface(selftext):
#初始化字体模块
pygame.font.init()
#查看所有的字体名称
# print(pygame.font.get_fonts())
#获取字体Font对象
font=pygame.font.SysFont(‘kaiti‘18)
#绘制文字信息
textSurface=font.render(textTrueTEXT_COLOR)
return textSurface
#获取事件
def getEvent(self):
#获取所有事件
eventList= pygame.event.get()
#遍历事件
for event in eventList:
#判断按下的键是关闭还是键盘按下
#如果按的是退出,关闭窗口
if event.ty
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 744 2019-06-12 09:11 代码\img\blast0.gif
文件 1968 2019-06-12 09:11 代码\img\blast1.gif
文件 2683 2019-06-12 09:11 代码\img\blast2.gif
文件 3740 2019-06-12 09:11 代码\img\blast3.gif
文件 5686 2019-06-12 09:11 代码\img\blast4.gif
文件 3716 2019-06-12 09:11 代码\img\enemy1D.gif
文件 3722 2019-06-12 09:11 代码\img\enemy1L.gif
文件 3735 2019-06-12 09:11 代码\img\enemy1R.gif
文件 3707 2019-06-12 09:11 代码\img\enemy1U.gif
文件 377 2019-06-12 09:11 代码\img\enemymissile.gif
文件 69216 2019-06-12 09:11 代码\img\fire.wav
文件 23136 2019-06-12 09:11 代码\img\hit.wav
文件 3512 2019-06-12 09:11 代码\img\p1tankD.gif
文件 3595 2019-06-12 09:11 代码\img\p1tankL.gif
文件 3590 2019-06-12 09:11 代码\img\p1tankR.gif
文件 3506 2019-06-12 09:11 代码\img\p1tankU.gif
文件 883296 2019-06-12 09:11 代码\img\start.wav
文件 1769 2019-06-12 09:11 代码\img\steels.gif
文件 12276 2019-06-12 09:11 代码\tank15.py
文件 13306 2019-06-12 09:11 代码\tank16.py
文件 14397 2019-06-12 09:11 代码\tank17.py
文件 15906 2019-06-12 09:11 代码\tank18.py
文件 17176 2019-06-12 09:11 代码\tank19.py
文件 17635 2019-06-12 09:11 代码\tank20.py
文件 18637 2019-06-12 09:11 代码\tank21.py
文件 19474 2019-06-12 09:11 代码\tank22.py
文件 20246 2019-06-12 09:11 代码\tank23.py
文件 21130 2019-06-12 09:11 代码\tank24.py
文件 21484 2019-06-12 09:11 代码\tank25.py
目录 0 2019-06-12 09:11 代码\img
............此处省略4个文件信息
相关资源
- 扑克小游戏python代码
- pygame小游戏-全民打飞机(关卡选择飞
- Python小游戏我自己写的
- 基于python的小游戏 含源代码
- Python微信打飞机小游戏
- Python开发五子棋小游戏
- Python雷电飞机大战小游戏
- python2.7基于tkinter下实现拼图小游戏
- python小游戏
- Python - 弹弹堂小游戏
- Python做一个推箱子小游戏
- 一款Python自制的斗地主小游戏
- 基于python的小游戏,休闲娱乐
- python飞机大战小游戏
- python+pygame一个好玩的小游戏
- 丧心病狂:用300行的python写个小游戏
- wxPython写的拼图小游戏
- 弹球小游戏Python源代码
- 2048小游戏Python源代码
- 用python实现2048小游戏
- python九宫格拼图小游戏
- python36实现打外星人小游戏图形界面游
- python管道小鸟游戏
- Python2.7 贪吃蛇小游戏源码
- python实现贪吃蛇小游戏
- python小游戏大全——30个
- python 滑雪小游戏
- python小游戏完美解决大作业.zip
- python编写2048小游戏
- python编程小游戏汉诺塔hanoi
评论
共有 条评论