怎么修改代码?按下空格键后看到控制台中有关游戏状态提示文字的显示及变化。怎么达到执行的提示信息?

新手上路,请多包涵

在如下代码中我遇到了问题,我按空格键不见反应
还有不知道怎么修改is_game_over属性设置为True,能使测试游戏结束后使用空格开始游戏的功能达到

在学这本Python快速入门/黑马程序员编著. --2版 --北京:人民邮电出版社,2021.1(2024.1重印)工业化和信息化“十三五”人才培养规划教材ISBN 987-7-115-54752-1
第11章 飞机大战(完整版)11.3.2 游戏框架实现P178~P180 遇到了问题

game_items模块中
import pygame
from pygame.examples.sprite_texture import clock

# 游戏窗口区域(矩形区域)
SCREEN_RECT=pygame.Rect(0,0,480,700)

game模块中
import pygame
from game_items import *
from game_hud import *
from game_music import *
class Game(object):
    """游戏类"""
    def __init__(self):
        # 游戏主窗口
        self.main_window = pygame.display.set_mode(SCREEN_RECT.size)
        pygame.display.set_caption("飞机大战")
        # 游戏状态属性
        self.is_game_over = False   # 游戏结束标记
        self.is_pause = False       # 游戏暂停标记
    def reset_game(self):
        """重置游戏"""
        self.is_game_over = False   # 游戏结束标记
        self.is_pause = False       # 游戏暂停标记
    def event_handler(self):
        """事件监听
        :return: 如果监听到退出事件,返回 True,否则返回 False
        """
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                return True
            elif event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
                return True
            elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:
                if self.is_game_over:   # 游戏已经结束
                    self.reset_game()   # 重新开始游戏
                else:
                    self.is_pause = not self.is_pause   # 切换到暂停状态
        return False
    def start(self):
        """开始游戏"""
        clock = pygame.time.Clock()     # 游戏时钟
        while True:                     # 开启游戏循环
            if self.event_handler():    # 事件监听
                return
            # 判断游戏状态
            if self.is_game_over:
                print("游戏已经结束,按空格键重新开始...")
            elif self.is_pause:
                print("游戏已经暂停,按空格键继续...")
            else:
                print("游戏进行中...")
            pygame.display.update()     # 更新显示
            clock.tick(60)              # 设置刷新频率


if __name__ == '__main__':
    pygame.init()
    Game().start()
    pygame.quit()

我想要运行游戏,不断按下空格键,看到控制台中有关游戏状态提示文字的显示及变化。执行的提示信息如下:
游戏进行中...
游戏已经暂停,按空格键继续...
游戏进行中...

我的暂停不了,控制台一直显示‘游戏进行中...’是哪里出了问题?该怎么改?
在需要测试游戏结束后使用空格键重新开始游戏的功能,可以先将构造方法的is_game_over属性暂时设置为True,再进行测试
我问is_game_over出现了几次,但不知道改哪个,把哪个改为True?

阅读 551
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏