【发布时间】:2018-06-11 01:59:26
【问题描述】:
我正在编写一个游戏,它会随机选择一个问题供玩家回答。我有一个随机选择问题并显示它的功能,效果很好。这是函数中的第一个问题:
topicList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
def random_topic_generator():
global RNG
RNG = random.choice(topicList)
if RNG == 0:
screen.fill((255, 255, 255))
draw_text("Question 1", questionFont, screen, 10, 0)
draw_text("What color is the sky", questionFont, screen, 10, 100)
draw_text("A: Green", answerFont, screen, 10,400)
draw_text("B: Blue", answerFont, screen, 700, 400)
draw_text("C: Orange", answerFont, screen, 10,600)
draw_text("D: Yellow", answerFont, screen, 700, 600)
topicList.remove(0)
这是While循环的对应部分:
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == K_RETURN:
random_topic_generator()
if RNG == 0:
if event.key == K_b:
right_answer()
else:
wrong_answer()
right_answer() 和 wrong_answer():
def right_answer():
screen.fill((255, 255, 255))
draw_text("You got the question right!", right_wrongFont, screen, 500, 450)
def wrong_answer():
screen.fill((255, 255, 255))
draw_text("You got the question wrong.", right_wrongFont, screen, 500, 450)
按回车键进入下一个问题,这很好。但是,每当 RNG == 0 时,无论我何时在游戏中遇到问题,error_answer() 总是在没有按键的情况下运行。如果我摆脱 else 并遇到那个问题,按 b 不会做任何事情。
【问题讨论】: