我正在为一个基于文本的冒险游戏编写一个攻击代码,玩家可以用剑造成伤害。控制台中会显示一个随机数,玩家必须尽快输入该数字。他们做得越快,造成的伤害就越大。到目前为止,我有:
import random
import time
from threading import Timer
def damage(timeAmount, baseDamage):
damageTotal = baseDamage - timeAmount
def sword():
t = 0
timerAmount = 0
randomNumber = random.randint(0, 1000000)
print('Type the following as fast as you can: \n' + str(randomNumber))
swordAttack = input('> ')
while t == 0:
timerAmount = timerAmount + 1
time.sleep(1)
if swordAttack == randomNumber:
t = 1
damage(timerAmount, 10)
print(timerAmount)
sword()
第一个问题是,我不知道如何得到一个计时器来计数,然后得到最后的时间用于伤害公式。线程中的计时器函数只能倒计时,我不知道如何精确地计算它的时间,不过如果你能用简单的术语向我解释的话,它可能会工作
第二个问题是,我还需要使其在屏幕上显示输入时立即激活计时器,但是当input语句运行时,它会停止代码,直到给出输入
好的,我要用定时器倒计时的方式来尝试一下。如果你的剑的伤害是10,无论如何,没有必要去超过10到'否定',它只会是0,所以只要倒数从任何剑的伤害是。所以如果他们在2秒内输入,那么在这种情况下就是8点伤害。下面是一些代码,我必须使用倒计时。你所要做的就是将计时器设置为剑的伤害值
如果你以后增加更多的伤害物品,这也可能会给你指明正确的方向。我唯一没有添加的部分是逻辑设置damageTotal为0,如果时间用完,您应该能够将其放入while循环中的if语句中(请注意,这是我第一次尝试回答ha,但我确实希望这有帮助)
相关问题 更多 >
编程相关推荐