Я пишу простую текстовую игру и написал простую боевую систему. Система работает как камень-ножницы-бумага. Он будет повторять цикл, и даже не будет проходить первую напечатанную строку. Спасибо!.
Это на Python3
Я попытался сделать это целым числом, строкой, если к elif и обратно, и многими другими вещами. Спасибо!
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" достигнет нуля
Он не пропускает первый напечатанный оператор, так как вводит цикл снова и снова.
Еще раз спасибо,
Стивен