import pygame
# 设置通用属性
BG_COLOR = pygame.Color(0,0,0)
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 500
TEXT_COLOR = pygame.Color(255,0,0)
class Tank:
         #'''坦克类'''
    def __init__(self,left:int,top:int) -> None:
        # 设置我方坦克的图片资源
        self.images = {
            'U':pygame.image.load('./img/p1tankU.gif'),
            'D':pygame.image.load('./img/p1tankD.gif'),
            'L':pygame.image.load('./img/p1tankL.gif'),
            'R':pygame.image.load('./img/p1tankR.gif'),
            }
        # 设置我方坦克的方向
        self.direction = 'L'
        # 获取图片信息
        self.image = self.images.get(self.direction)
         # 获取图片的矩形
        self.rect = self.image.get_rect()
        # 设置我方坦克位置
        self.rect.left = left
        self.rect.top = top
    def display_tank(self) -> None:
        #'''显示坦克'''
        self.image = self.images.get(self.direction)
        MainGame.window.blit(self.image,self.rect)
class MainGame:
 # '''游戏主窗口类'''   
    window = None
    my_tank = None
    def __init__(self) -> None:
        pass
    def start_game(self) -> None:
        # '''开始游戏 # 初始化游戏窗口
        pygame.display.init()
             # 创建一个窗口
        MainGame.window = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
        # 设置窗口标题
        pygame.display.set_caption('坦克小子')
        # 创建一个我方 坦克
        MainGame.my_tank = Tank(350,200)
        # 刷新窗口
        while True:
             # 给窗口设置填充色
            MainGame.window.fill(BG_COLOR)
            # 1.要增加文字内容
            num = 6
            text = self.get_text_surface(f'敌方坦克剩余数量{num}')
             # 2.如何把文字加上
            MainGame.window.blit(text,(10,10))
            #增加事件
            self.get_event()
             # 显示 我方坦克
            MainGame.my_tank.display_tank()
            pygame.display.update()
    def get_text_surface(self,text:str) -> None:
        '''获取文字的图片'''
  # 初始化字体模块
        pygame.font.init()
  # 获取可以使用的字体
  # print(pygame.font.get_fonts())
  # 创建字体
        font = pygame.font.SysFont('kaiti',18)
  # 绘制文字信息
        text_surface = font.render(text,True,TEXT_COLOR)
  # 将绘制的文字信息返回
        return text_surface
    def get_event(self) -> None:
   # '''获取事件'''# 获取所有事件
        event_list = pygame.event.get()
    # 遍历事件
        for event in event_list:
      # 判断是什么事件,然后做出相应的处理
            if event.type == pygame.QUIT:
        # 点击关闭按钮
                self.end_game()
            if event.type == pygame.KEYDOWN:
        # 按下键盘
                if event.key == pygame.K_LEFT:
                    print('坦克向左移动')
                    MainGame.my_tank.direction = 'L'
                    MainGame.my_tank.move()
                elif event.key == pygame.K_RIGHT:
                    print('坦克向右移动')
                    MainGame.my_tank.direction = 'R'
                    MainGame.my_tank.move()
                elif event.key == pygame.K_UP:
                    print('坦克向上移动')
                    MainGame.my_tank.direction = 'U'
                    MainGame.my_tank.move()
                elif event.key == pygame.K_DOWN:
                    print('坦克向下移动')
                    MainGame.my_tank.direction = 'D'
                    MainGame.my_tank.move()
    def end_game(self) -> None:
    #'''结束游戏'''
        print('谢谢使用,欢迎再次使用')
        exit()
if __name__ == "__main__":
  # 调用MainGame类中的start_game方法,开始游戏
    MainGame().start_game()
                                 
        #坦克的移动方法
    def move(self):
        pass
  #碰撞墙壁的方法
    def hitWalls(self):
        pass
  #射击方法
    def shot(self):
        pass
  #展示坦克
    def displayTank(self):
        pass
class MyTank(Tank):                             #我方坦克类
 
    def __init__(self):
        pass
  #碰撞敌方坦克的方法
    def hitEnemyTank(self):
        pass
class EnemyTank(Tank):
  #'''敌方坦克类'''
    def __init__(self) -> None:
        pass
class Bullet:
  #'''子弹类'''
    def __init__(self) -> None:
        pass
    def display_bullet(self) -> None:
    #'''显示子弹'''
        pass
    def move(self) -> None:
    #'''子弹的移动 '''
        pass
class Wall:
  #'''墙壁类'''
    def __init__(self) -> None:
        pass
    def display_wall(self) -> None:
    #'''显示墙壁'''
        pass
class Explode:
  #'''爆炸效果类'''
    def __init__(self) -> None:
        pass
    def display_explode(self) -> None:
    #'''显示爆炸效果'''
        pass
class Music:
  #'''音效类'''
    def __init__(self) -> None:
      pass
    def play_music(self) -> None:
    #'''播放音效'''
        pass
为啥我的是运行后一按就闪退?