为什么 pygame 阻止我的代码工作

问题描述

我正在制作一个石头剪刀布游戏,我正在使用 pygame 来显示一些图像,并且根据我将循环放在哪里以打开 pygame,pygame 要么不响应,要么我的代码不会继续

    import random
    import pygame

    pygame.init()
    width=400
    height=400
    dis=pygame.display.set_mode((width,height))
    pygame.display.update

    running=True
    while running:
         for event in pygame.event.get():
            if event.type==pygame.QUIT:
                running=False
    pygame.quit()
    readyToPlay=input("Are you ready? y or n ")

解决方法

您的游戏窗口在此循环中运行:

running=True
while running:
     for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
pygame.quit()

一旦 pygame.quit() 运行,您将返回控制台,然后

readyToPlay=input("Are you ready? y or n ")

运行。

您想要做的是在该循环期间处理来自 pygame 的事件。您目前只处理 pygame.QUIT 但您还想处理键盘事件,使用 pygame 的图形功能在窗口上显示文本等。

或者,您可以编写一个仅限控制台的游戏,在其中使用控制台输入/输出功能并且无需图像即可生活(或者制作 ASCII 艺术,这就是我为我的第一个游戏所做的)。