"""
加载我方坦克
"""
# 导入pygame模块
import pygame
SCREEN_WIDTH=700
SCREEN_HEIGHT=500
BG_COLOR=pygame.Color(0,0,0)
TEXT_COLOR=pygame.Color(255,0,0)
# 主类
class MainGame():
window = None
my_tank = None
def __init__(self):
pass
# 开始游戏
def startGame(self):
pass
# 加载主窗口
# 初始化窗口
pygame.display.init()
# 设置窗口的大小及显示
MainGame.window=pygame.display.set_mode([SCREEN_WIDTH,SCREEN_HEIGHT])
# 初始化我方坦克
MainGame.my_tank=Tank(350,250)
# 设置窗口的标题
pygame.display.set_caption('坦克大战1.02')
# 一直显示窗口
while True:
# 给窗口设置填充色
MainGame.window.fill(BG_COLOR)
# 获取事件
self.getEvent()
# 绘制文字
MainGame.window.blit(self.getTextSuface("敌方坦克剩余数量%d"%6),(10,10))
# 调用坦克的方法
MainGame.my_tank.displayTank()
pygame.display.update()
# 结束游戏
def endGame(self):
print("谢谢使用,欢迎再次使用")
exit()
# 左上角文字的绘制
def getTextSuface(self,text):
# 初始化字体模块
pygame.font.init()
# 查看所有的字体名称
# print(pygame.font.get_fonts())
# 获取字体Font对象('字体类型','字体大小')
font=pygame.font.SysFont('kaiti',18)
# 绘制文字信息
textSurface=font.render(text,True,TEXT_COLOR)
return textSurface
# 获取事件
def getEvent(self):
# 获取所有事件
eventList = pygame.event.get()
#遍历事件
for event in eventList:
# 判断按下的键是关闭还是减半按下
# 如果按的是指出,关闭窗口
if event.type == pygame.QUIT:
self.endGame()
# 如果是键盘的按下
if event.type == pygame.KEYDOWN:
# 判断按下的是上、下、左、右
if event.key == pygame.K_LEFT:
print('按下左键,坦克先左移动')
if event.key == pygame.K_RIGHT:
print('按下右键,坦克先右移动')
if event.key == pygame.K_UP:
print('按下上键,坦克先上移动')
if event.key == pygame.K_DOWN:
print('按下下键,坦克先下移动')
# 坦克类
class Tank():
# 添加距离左边left 距离上边top
def __init__(self,left,top):
self.images={
'U': pygame.image.load('img/pltankU.gif'),
'D': pygame.image.load('img/pltankD.gif'),
'L': pygame.image.load('img/pltankL.gif'),
'R': pygame.image.load('img/pltankR.gif'),
}
# 方向
self.direction='U'
# 根据当前图片的方向获取图片 surface
self.image = self.images[self.direction]
# 根据图片获取区域
self.rect = self.images.get_rect()
# 设置区域的left 和 top
self.rect.left = left
self.rect.top = top
# 移动
def move(self):
pass
# 射击
def shot(self):
pass
# 展示坦克的方法
def displayTank(self):
# 获取展示坦克对象
self.image = self.images[self.direction]
# 调用blit方法展示(展示的对象,展示的区域)
MainGame.window.blit(self.image, self.rect)
# 我方坦克
class MyTank(Tank):
def __init__(self):
pass
# 敌方坦克
class EnemyTank(Tank):
def __init__(self):
pass
# 子弹类
class Bullet():
def __init__(self):
pass
# 移动
def move(self):
pass
# 展示子弹的方法
def displayBullet(self):
pass
# 墙壁类
class Wall():
def __init__(self):
pass
# 展示墙壁的方法
def displayWall(self):
pass
# 爆炸效果类
class Explode():
def __init__(self):
pass
# 展示爆炸效果的方法
def distplayExplode(self):
pass
#音效类
class Music():
def __init__(self):
pass
#播放音乐
def play(self):
pass
if __name__ =='__main__':
MainGame().startGame()
# 输出所有字体
# MainGame().getTextSuface()
老师您好:您帮我看看这是是啥问题,谢谢