大家好我是一名Python初學者,我正在嘗試製作自己的文本RPG遊戲。我已經爲英雄在店裏購物,但由於某種原因,每次我得到這個錯誤我到店裏的方法:unboundLocalError:賦值之前引用的局部變量'arm'?
nboundLocalError: local variable 'arm' referenced before assignment
有人能向我解釋這意味着什麼,以及如何我可以修復它?感謝
def shop():
dagger = ('Dagger', 0, 5)
sword = ('Sword', 0, 10)
leather_hide = ('Leather Hide', 5, 0)
if IsShopLocked == True:
print("The shop is locked!\nPlease go back and continue your adventure!")
else:
print()
print("Welcome to the Larkville shop! What would you like to buy?\n1. Weapons\n2. armor\n3. Go back")
selection = int(input("Enter a value: "))
if selection == 1:
print("Weapons shop")
print("1. Bronze Dagger: $7\n2. Bronze Sword: $50 3.Rusty Sword $60")
wpnselection= int(input("Enter a value: "))
elif wpnselection == 1:
if hero.ac<20:
print("You donthave enough gold to buy this yet ")
main()
else:
hero.damage += 10
hero.ac -= 20
print("strength increased to: {}".format(hero.damage))
main()
if wpnselection == 2:
if hero.ac<50:
print("You dont have enough gold to buy this yet...")
main()
else:
hero.damage += 16
hero.ac -= 50
print("strength increased to: {}".format(hero.damage))
main()
elif wpnselection == 3:
if hero.ac<60:
print("You dont have enough gold to buy this yet...")
main()
else:
hero.damage += 28
hero.ac -= 60
print("strength increased to: {}".format(hero.damage))
main()
elif selection == 2:
print ("Armor Shop")
print ("1. Leather hide 20$\n2. warmogs armor 30$")
arm = int(input("enter a value: "))
if arm == 1:
if hero.ac<20:
print("You dont have enough gold!")
main()
else:
hero.hp += 20
hero.ac -= 20
print("Health increased to: {}".format(hero.health))
if arm == 2:
if hero.ac<30:
print("You dont have enough gold!")
main()
if hero.ac>30:
leather_hide = Item('Leather Hide', 5, 0)
IsLeatherHideEquipped = True
hero.hp += 20
hero.ac -= 20
print("Health increased to: {}".format(hero.health))
elif selection == 3:
main()
@Andrew - 這是否幫助你解決問題嗎? –