我正在python中制作一个小型计算机游戏,运行3分钟。这是一款控制台游戏。屏幕不会每隔几毫秒更新一次,但每隔几秒就会打印出新信息,玩家必须在不同的选项中进行选择。
所以我需要的是,
答案 0 :(得分:0)
我最终使用线程和锁定了。
from datetime import datetime,timedelta
from threading import Thread, Lock
locker = Lock()
def printsomething(string):
if string.seconds:
print string.seconds,"seconds left"
else:
print "less than a second left"
def func():
start_time = datetime.now()
while True:
if locker.acquire(False):
printsomething(timedelta(seconds=180) - (datetime.now()-start_time))
raw_input("Continue? y/n")
locker.release()
else:
print "Thread ending"
return
t = Thread(target=func)
t.daemon = True
t.start()
t.join(180)
locker.acquire()
print "program ending"
唯一无法解决的问题是,应该运行3分钟的脚本/ func在3分钟结束后不会立即退出。如果我搞清楚,会更新答案。