Я пытаюсь написать простую программу, которая определяет двух воображаемых бойцов с только именем и количеством здоровья.Простой 1 против 1 Моделирование боя
Прямо сейчас это то, что я написал:
import random
def main():
pass
if __name__ == '__main__':
main()
hpRed = 20
hpBlu = 20
def attack():
damage = random.randrange(1,3)
return hpRed - damage
return hpBlue - damage
def fighterRed(name, hpRed):
print(str(name) + " has " + str(hpRed) + " health left.")
def fighterBlue(name, hpBlu):
print(str(name) + " has " + str(hpBlu) + " health left.")
def battle():
fighterRed("Branden",hpRed)
fighterBlue("Alex",hpBlu)
while ((hpRed > 0) and (hpBlu > 0) is True):
attack()
else:
print("The battle is over!")
if (hpRed > 0):
return "Red Player is victorious!"
else:
return "Blue Player is victorious!"
battle()
До сих пор я постоянно получаю ошибку «hpRed обращаться до присвоения». Что я могу изменить, чтобы заставить его правильно передать значение hpRed и hpBlu?
Хотя код, который вы опубликовали, имеет ряд проблем, он не будет вызывать исключение UnboundLocal, которое вы упомянули. В следующий раз опубликуйте свой _actual_-код и полную трассировку сообщения об ошибке. – l4mpi