bilishikaoshi 2021-12-12 19:59 采纳率: 85.7%
浏览 20
已结题

请问这段Python代码码到底哪里出问题了?

pygame1.9.6版本 解释器:Python3 源码如下
import pygame
class Gamesubject():#Gamesubject=游戏主体
    Window=None
    SCREEN_WIDTH = 800
    SCREEN_HEIGHT = 500
    #游戏主窗口
    def __init__(self):
        pass
    def Startgame(self):  # Startgame=开始游戏
            pygame.display.init()
            Gamesubject.Window=pygame.display.set_mode([Gamesubject.SCREEN_WIDTH, Gamesubject.SCREEN_HEIGHT])
            pygame.display.set_caption('坦克大战v1.0')  # 设置游戏窗口标题
            self.getTextSurface("aaa")
            while True:
                #于循环中完成事件的获取
                self.getEvent()
            
                pygame.display.update()
    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('坦克向左移动一步')
                elif event.key == pygame.K_RIGHT:
                    print('坦克向右移动一步')
                elif event.key == pygame.K_UP:
                    print('坦克向上移动一步')
                elif event.key == pygame.K_DOWN:
                    print('坦克向下移动一步')
                elif event.key == pygame.K_SPACE:
                    print('发射子弹')
    #绘制左上角文字
    def getTextSurface(self,text):
        pygame.font.init()
        fontList = pygame.get_fonts()
        print(fontList)
        #font = pygame.font.SysFont('',18)

    #开始游戏方法
    def Endgame(self):  # Endgame=结束游戏
        print('谢谢游玩')
        exit()#结束python解释器
    #结束游戏方法
class Tank():#Tank=坦克
    def __init__(self):
        pass
    def move(self):#move=移动
        pass
    #坦克的移动
    def shot(self):#shot=射击
        pass
    #坦克的射击
    def DisplayTank():# Display=展示
        pass
    #展示坦克
class MyTank(Tank):# MyTank=我方坦克
    def __init__(self):
        pass
class Enemy(Tank):#Enemy=敌方坦克
    def __init__(self):
        pass
class bullet():#bullet=子弹
    def __init__(self):
        pass
    def move(self):# move=移动
        pass
    #子弹的移动
    def Displaybullet():  # Display=展示
        pass
    #展示子弹
class Blasteffect():#Blasteffect=爆炸效果
    def __init__(self):
        pass
    def DisplayBlasteffect():  # Display=展示
        pass
    #展示爆炸效果
class wall():#wall=墙壁
    def __init__(self):
        pass
    def Displaywall():  # Display=展示
        pass
    #展示墙壁
class music():#music=音效
    def __init__(self):
        pass
    def play():
        pass

    #开始播放音乐
Gamesubject().Startgame()


运行结果及报错内容

img

  • 写回答

2条回答 默认 最新

  • heianduck 2021-12-12 20:08
    关注

    40行代码改成: pygame.font.get_fonts()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月20日
  • 已采纳回答 12月12日
  • 创建了问题 12月12日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改