如何为回合制游戏超时用户输入?

时间:2017-04-18 16:25:12

标签: python python-3.x

我试图在Python 3中制作一个基本的命令行数学游戏。游戏向用户显示一个基本的附加问题,系统等待用户按Enter键,然后显示答案,然后是下一个问题。

我想通过在每回合包含一个超时来向玩家施加压力。如果玩家在3秒钟之前没有按下输入,游戏就会停止并显示一条消息。

问题:如何在3秒后中断input()

到目前为止的研究:

说明性代码段:

import signal

import sys


def ask_question():
    input("3 + 4 = ?")


def print_answer():
    print("7")


def timeout_handler(signum, frame):
    print("sorry you ran out of time")
    sys.exit()

MAX_TURN_TIME = 3

ask_question()
signal.signal(signal.SIGALRM, timeout_handler)
signal.alarm(MAX_TURN_TIME)
print_answer()
signal.alarm(0)

0 个答案:

没有答案