如何创建一个让用户做出是/否决定的功能

时间:2017-01-17 02:18:07

标签: python python-2.7 pygame 2d-games

我在python上使用pygame创建一个游戏并尝试允许用户做出是或否决定,但由于某种原因它不会进入我的循环"对于pygame中的事件.event.get():"

它不会在Shell中创建任何错误消息,而不是按照我想要它做的事情,它只是在我按空格时绕过该功能,而其他任何事情似乎都没有做任何事情。

这是调用Y / N函数的函数:

if SwordCheck == None:
    dispOnTextBox("You don't have", 'anything to buy.', '')
elif SwordCheck == False:
    displayMoney(Kelts, Parts, Shreds)
    dispOnTextBox('Do you want to', 'purchase that?', "it's 200 kelts")
    VALUE = waitForYNDecision()
    if VALUE == None:
        pygame.display.update()
        FPSCLOCK.tick()
    elif VALUE == False:
        dispOnTextBox('No? Ok, but please', 'put it back when', "you are done")
        return False
    elif VALUE == True:
        dispOnTextBox('Alright! here you', 'go. Thank you', 'for your purchase')
        return True

这是Y / N功能:

print 'CHOOSE Y/N with Up = Yes and Down = No'
for event in pygame.event.get():
    if event.type == QUIT:
        terminate()
    elif event.type == KEYDOWN:
        if event.key in (K_W, K_KP8):
            return True
        elif event.key in (K_S, K_KP5):
            return False
return None

我已经测试了所有其他功能,只有这些功能有问题。我是一名业余爱好者,并希望得到一个好的答案。

1 个答案:

答案 0 :(得分:0)

它希望用户立即这样做,我不确定这是否是它的意图,但如果它不是真的把它放在一个真正的循环中