我目前正在使用Pyglet库编写一个破砖者克隆,我想制作一个计时器,最多可以计算20秒的游戏奖金#(即更长的桨,更快的桨运动,更大的球)。我一直在努力挖掘互联网,但我无法找到答案。
答案 0 :(得分:0)
import threading
bonuses_count = 0
def count_bonuses():
global bonuses_count
# paddle = count(paddle) # something your logic part here
bonuses_count += 20
print "counting bonuses :- ", (bonuses_count)
t = threading.Timer(20.0, count_bonuses).start()
t = threading.Timer(20.0, count_bonuses)
t.start()
嗯,我不知道你计算奖金的逻辑,但我认为你可以通过创建一个线程来实现20秒计时器,这将在每20秒后执行一次。
这里我创建了函数 count_bonuses ,它将包含你的游戏逻辑并在每20秒后执行一次。
如果您想要停止此线程或创建 KeyboardInterrupt 以根据您的游戏逻辑停止带有键盘输入的线程,您可以创建自己的 stopflag 。
counting bonuses :- 20
counting bonuses :- 40
counting bonuses :- 60
counting bonuses :- 80
答案 1 :(得分:0)
试试这个。
import mx.DateTime as mt
import time
def settime():
st=mt.now()
while(True):
time.sleep(1)
tt=mt.now()
if (int((tt-st).seconds)==20):
print 'level up'
st=mt.now()
elif (int((tt-st).seconds)>20):
print 'logic error'
else:
print int((tt-st).seconds)