import pygame
class maingame():
window=None
my_tank=None
def __init__(self):
pass
def startgame(self):
pygame.display.init()
maingame.window=pygame.display.set_mode([700,500])
maingame.my_tank=tank(300,300)
while True:
pygame.display.set_caption("坦克大战")
self.getevent()
maingame.window.blit(self.gettextsurface('敌方坦克数量:{0}'.format(6)),(10,10))
maingame.my_tank.displaytank()
pygame.display.update()
def getevent(self):
eventlist=pygame.event.get()#返回一个列表,列表里面是事件对象
#print(eventlist)
for event in eventlist:
if event.type==pygame.QUIT:
self.endgame()
if event.type==pygame.KEYDOWN:
if event.key==pygame.K_LEFT:
maingame.my_tank.direction='L'
maingame.my_tank.move()
elif event.key==pygame.K_RIGHT:
maingame.my_tank.direction='R'
maingame.my_tank.move()
elif event.key==pygame.K_UP:
maingame.my_tank.direction='U'
maingame.my_tank.move()
elif event.key==pygame.K_DOWN:
maingame.my_tank.direction='D'
maingame.my_tank.move()
def endgame(self):
exit()
def gettextsurface(self,text):
pygame.font.init()
font=pygame.font.SysFont('kaiti',18)
textsurface=font.render(text,True,pygame.Color(255,0,0))
return textsurface
class tank():
def __init__(self,left,top):
self.images={
'U':pygame.image.load('D:\编程学习\python资料\坦克大战\\2018IT视频备份\IT百战视频\百战_python\IT百战上传视频\第二阶段Python深入和提高(Python400集第二季内容)\章节5:游戏开发-坦克大战\代码\img\p1tankU.gif'),
'D':pygame.image.load('D:\编程学习\python资料\坦克大战\\2018IT视频备份\IT百战视频\百战_python\IT百战上传视频\第二阶段Python深入和提高(Python400集第二季内容)\章节5:游戏开发-坦克大战\代码\img\p1tankD.gif'),
'L':pygame.image.load("D:\编程学习\python资料\坦克大战\\2018IT视频备份\IT百战视频\百战_python\IT百战上传视频\第二阶段Python深入和提高(Python400集第二季内容)\章节5:游戏开发-坦克大战\代码\img\p1tankL.gif"),
'R':pygame.image.load('D:\编程学习\python资料\坦克大战\\2018IT视频备份\IT百战视频\百战_python\IT百战上传视频\第二阶段Python深入和提高(Python400集第二季内容)\章节5:游戏开发-坦克大战\代码\img\p1tankR.gif')
}
self.direction='U'
self.image=self.images[self.direction]
self.rect=self.image.get_rect()
self.rect.left=left
self.rect.top=top
self.speed=10
def move(self):
if self.direction=='L':
self.rect.left=self.rect.left-self.speed
elif self.direction=='R':
self.rect.left=self.rect.left+self.speed
elif self.direction=='U':
self.rect.top=self.rect.top-self.speed
elif self.direction=='D':
self.rect.top=self.rect.top+self.speed
def shot(self):
pass
def displaytank(self):
self.image=self.images[self.direction]
maingame.window.blit(self.image,self.rect)
class mytank():
def __init__(self):
pass
class enemytank():
def __init__(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
class Buller():
def __init__(self):
pass
def move(self):
pass
def displaybullet(self):
pass
if __name__=='__main__':
maingame().startgame()
老师,我的代码执行后的效果是这样的,排查了好久都没找到哪里错了。
