如何制作让用户做出 Yes/No 决定的功能
How to make a function that lets the user make a Yes/No decision
我正在 python 上使用 pygame 创建一个游戏,并试图让用户做出是或否的决定,但由于某种原因它没有进入我的循环 "for event in pygame.event.get():"
它不会在 Shell 中创建任何错误消息,而不是做我想让它做的事情,它只是在我按下 space 时绕过该功能,而似乎没有其他任何东西做任何事情。
这里是调用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
我已经测试了所有其他功能,只有这些功能有问题。我是这方面的业余爱好者,希望得到一个好的答案。
它希望用户立即执行此操作,我不确定这是否是本意,但如果它不只是将其放入一段时间 True loop
我正在 python 上使用 pygame 创建一个游戏,并试图让用户做出是或否的决定,但由于某种原因它没有进入我的循环 "for event in pygame.event.get():"
它不会在 Shell 中创建任何错误消息,而不是做我想让它做的事情,它只是在我按下 space 时绕过该功能,而似乎没有其他任何东西做任何事情。
这里是调用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
我已经测试了所有其他功能,只有这些功能有问题。我是这方面的业余爱好者,希望得到一个好的答案。
它希望用户立即执行此操作,我不确定这是否是本意,但如果它不只是将其放入一段时间 True loop