【发布时间】:2020-12-17 09:51:10
【问题描述】:
我正在使用 Python 和 Tkinter 编写游戏,我需要显示玩家还剩多少时间。
我需要一个函数来定期运行并更新我的time_left 变量。
我不能使用while loop,因为我的程序将永远卡在其中。
我如何在这里记录时间?
【问题讨论】:
-
您能否分享您的代码,以便我们了解该怎么做?
我正在使用 Python 和 Tkinter 编写游戏,我需要显示玩家还剩多少时间。
我需要一个函数来定期运行并更新我的time_left 变量。
我不能使用while loop,因为我的程序将永远卡在其中。
我如何在这里记录时间?
【问题讨论】:
import time
start = time.time()
end = time.time()
time_consumed=end-start;
time_left=10-time_consumed;
10 是时间限制。 您可以使用此代码开始记录并打印用户花费的时间
【讨论】:
要创建游戏,我认为您仍然需要一个循环(游戏循环)。在该循环中,使用 datetime 和 timedelta
from datetime import datetime and timedelta
在你的游戏循环中,设置一个条件;
now = datetime.now()
if datetime.now() <= now + timedelta(minutes=How_many_minutes_you_want_to_run_the_game):
run_the_game
else:
stop_the_game
在该循环中,您可以简单地创建一个变量来存储当前时间或最后时间(datetime.now() + timedelta(minutes=How_many_minutes_you_want_to_run_the_game) - datetime.now()),即剩余时间。
示例:
from datetime import datetime, timedelta
now = datetime.now()
while datetime.now() < (now + timedelta(seconds=2)):
print(datetime.now())
此代码将打印当前时间 2 秒。您还可以设置一些延迟(延迟 1 秒)以在每一秒过去后打印时间。
【讨论】: