【发布时间】:2022-02-09 14:14:45
【问题描述】:
我正在用 Python 制作一个躲避游戏,我希望分数每秒增加 1,但问题是我不知道怎么做。如果能找到一个我不必更改太多代码的解决方案,那就太好了。
有人可以帮忙吗?
【问题讨论】:
我正在用 Python 制作一个躲避游戏,我希望分数每秒增加 1,但问题是我不知道怎么做。如果能找到一个我不必更改太多代码的解决方案,那就太好了。
有人可以帮忙吗?
【问题讨论】:
当您遍历游戏循环时,您可以使用时间库检查当前时间。然后,您可以检查自上次获得积分以来是否已经过了一秒。 它可能看起来像这样:
import time
points = 0
currentTime = time.time()
previousPointAwardedTime = currentTime
while gameRunning == True:
...
currentTime = time.time()
if (currentTime - previousPointAwardedTime) >= 1:
points += 1
previousPointAwardedTime = currentTime
【讨论】:
你可以试试asyncio
import asyncio
score = 0 # starting game with a score of zero
async def s():
global score
score += 1 #increasing score by 1
await asyncio.sleep(1) #waiting for 1 second
while True: #while game is running
asyncio.run(s()) #calling function
print(score) #printing score
【讨论】: