#主要包括坦克的创建,显示,移动及射击的功能
import pygame
COLOR_BLUE=pygame.Color(0,0,0)
COLOR_red=pygame.Color(255,0,0)
class MainGame():
window=None
my_tank=None
def __init__(self):
pass
#开始游戏方法
def startGame(self):
#加载主窗口
pygame.display.init()
#创建窗口
MainGame.window=pygame.display.set_mode([700,600])
#初始化坦克
MainGame.my_tank=Tank(350,300)
#设置窗口标题
pygame.display.set_caption("坦克大战")
while True:
MainGame.window.fill(COLOR_BLUE)
self.eventlist()
MainGame.window.blit(self.getTextSurface("剩余敌方坦克数量%d"%6),(5,5))
#调用坦克的显示方法
MainGame.my_tank.displayTank()
pygame.display.update()
#结束游戏
def endGame(self):
print("谢谢使用,欢迎下次使用")
exit()
def eventlist(self):
enentlist=pygame.event.get()
for event in enentlist:
if event.type==pygame.QUIT:
self.endGame()
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_UP:
print("按下上键,坦克向上移动")
if event.key == pygame.K_DOWN:
print("按下下键,坦克向下移动")
if event.key == pygame.K_LEFT:
print("按下左键,坦克向左移动")
if event.key == pygame.K_RIGHT:
print("按下右键,坦克向右移动")
def getTextSurface(self,text):
pygame.font.init()
font=pygame.font.SysFont("kaiti",18)
testSurface=font.render(text,True,COLOR_red)
return testSurface
MainGame().startGame()
class Tank():
#添加距离左边left,距离上边top
def __init__(self,left,top):
#保存加载的图片
self.images={"U":pygame.image.load("scripts/p1tankU.gif"),
"D": pygame.image.load("scripts/p1tankD.gif"),
"L": pygame.image.load("scripts/p1tankL.gif"),
"R": pygame.image.load("scripts/p1tankR.gif"),
}
#(属性)方向
self.direction="U"
#根据当前图片的方向获取图片
self.image=self.images[self.direction]
#根据图片获取区域
self.rect=self.image.get_rect()
#设置区域的left和top
self.rect.left = left
self.rect.top = top
#坦克的移动方法
def moveTank(self):
pass
#碰撞墙壁的方法
def hitwalls(self):
pass
#展示坦克
def displayTank(self):
#获取展示的对象
self.image=self.images[self.direction]
#调用blit方法显示
MainGame.window.blit(self.image,self.rect)
#我方坦克类继承坦克类,主要包括创建与敌方坦克的碰撞方法
class MyTank():
def __init__(self):
pass
#碰撞敌方坦克的方法
def hitEnemyTank(self):
pass
#敌方坦克继承坦克类,主要包括创建于我方坦克的碰撞方法
class EnemyTank(Tank):
def __init__(self):
pass
def hitMyTank(self):
pass
#子弹类:主要包括子弹的创建,显示及移动的功能
class Bullet():
def __init__(self):
pass
#子弹的移动方法
def bulletMove(self):
pass
#展示子弹的方法
def displaybullet(self):
pass
#我方子弹碰撞敌方坦克的方法
def hitEnemy(self):
pass
#敌方子弹与我方坦克的碰撞方法
def hitMyTank(self):
pass
#子弹与墙壁的碰撞
def hitwalls(self):
pass
#墙壁类:主要包括墙壁的创建,显示的功能
class wall():
def __init__(self):
pass
#展示墙壁的方法
def displaywall(self):
pass
#爆炸效果类:主要展示爆炸效果
class Explode():
def __init__(self):
pass
#展示爆炸效果
def displayExplode(self):
pass
#音效类:主要播放音乐
class Music:
def __init__(self):
pass
#开始播放音乐
def play(self):
pass

18行和52行有问题,可是我找不到错哪了