我有一个使用计分器的程序。该分数计数器最初为 100,并保持这种状态,直到超过某个阈值。阈值变量称为 shipy
,我的分数称为 score
。
一旦 shipy
超过 400,我实现了每 0.1 秒从我的分数中减去 1 的东西,但这样做会导致我的整个程序运行速度变慢。
这是我的代码片段:
shipy = 0
score = 100
# some code here doing something, eg. counting shipy up
if shipy > 400:
time.sleep(0.1)
global score
score-=1
# more code doing something else
有没有办法独立于其余代码运行该分数减法?
最佳答案
您需要使用不同的线程来计算分数。只需启动一个新线程来倒计时您的分数。
import threading
import time
def scoreCounter():
while shipy > 400:
time.sleep(0.1)
global score
score-=1
t1 = threading.Thread(target=scoreCounter)
如果 shipy > 400
,则只需在代码中的某个点调用 t1.start()
。
关于python - 如何在不影响其余部分的情况下延迟程序的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59412769/