简单功能不实习
Simple function not interning
我正在写一个简单的基于文本的游戏,并编写了一个简单的战斗系统。该系统就像剪刀石头布一样工作。它会迭代循环,甚至不会移动通过第一个打印行。谢谢!
这是在 Python3
我试过将其设为整数、字符串、if to elif 和 back,以及许多其他东西。谢谢!
def combat(ehealth,ename):
while (ehealth > 0):
playerhit=int(input("Would you like to [1] Stab, [2] Swipe, or [3] Bash? "))
comhit=random.uniform(1,3)
if playerhit==1:
if comhit==1:
print("The", ename, "parryed the attack")
elif comhit==2:
print("The", ename, "blocked the attack")
elif comhit==3:
ehealth=ehealth-1
print("You hit the", ename,"!")
elif playerhit==2:
if comhit==1:
ehealth=ehealth-1
print("You hit the", ename,"!")
elif comhit==2:
print ("The", ename, "parryed the attack")
elif comhit==3:
print("The", ename, "blocked the attack")
elif playerhit==3:
if comhit==1:
print("The", ename, "blocked the attack")
elif comhit==2:
ehealth=ehealth-1
print("You hit the", ename,"!")
elif comhit==3:
print("The", ename, "blocked the attack")
我希望函数在 "ehealth" 达到零时结束循环
它不会使其通过第一个打印语句,因为它会一遍又一遍地循环输入。
再次感谢,
史蒂文
random.uniform(1,3)
这就是问题所在。它 returns 是一个随机浮点数而不是整数。您永远不会到达任何嵌套的 if 语句。
尝试random.choice(range(1,4))
或者更好的是,
random.randint(1, 3)
我正在写一个简单的基于文本的游戏,并编写了一个简单的战斗系统。该系统就像剪刀石头布一样工作。它会迭代循环,甚至不会移动通过第一个打印行。谢谢!
这是在 Python3
我试过将其设为整数、字符串、if to elif 和 back,以及许多其他东西。谢谢!
def combat(ehealth,ename):
while (ehealth > 0):
playerhit=int(input("Would you like to [1] Stab, [2] Swipe, or [3] Bash? "))
comhit=random.uniform(1,3)
if playerhit==1:
if comhit==1:
print("The", ename, "parryed the attack")
elif comhit==2:
print("The", ename, "blocked the attack")
elif comhit==3:
ehealth=ehealth-1
print("You hit the", ename,"!")
elif playerhit==2:
if comhit==1:
ehealth=ehealth-1
print("You hit the", ename,"!")
elif comhit==2:
print ("The", ename, "parryed the attack")
elif comhit==3:
print("The", ename, "blocked the attack")
elif playerhit==3:
if comhit==1:
print("The", ename, "blocked the attack")
elif comhit==2:
ehealth=ehealth-1
print("You hit the", ename,"!")
elif comhit==3:
print("The", ename, "blocked the attack")
我希望函数在 "ehealth" 达到零时结束循环
它不会使其通过第一个打印语句,因为它会一遍又一遍地循环输入。
再次感谢, 史蒂文
random.uniform(1,3)
这就是问题所在。它 returns 是一个随机浮点数而不是整数。您永远不会到达任何嵌套的 if 语句。
尝试random.choice(range(1,4))
或者更好的是,
random.randint(1, 3)