我正在研究基於文本的RPG。這非常簡單,但我仍然遇到一些問題,因爲我對Python相當陌生。我希望玩家能夠調用某個功能,然後在完成之後返回到之前的功能。如何在調用另一個函數後返回上一個函數?
def inventory():
invent = {'a': 1, 'b':2}
print invent
def room_function():
input = raw_input("Type [i] for inventory!").lower()
if input == 'i':
inventory()
如上圖所示,我希望玩家能夠從任何給定函數他們是在叫自己的庫存。他們所謂的功能後,我希望玩家能夠返回到它們的功能這個代碼示例非常非常簡單。這裏是我的代碼更復雜的例子:
inventory = {'Backpack': ['Water Bottle', 'Apple', 'Book'],
'Clothes': ["Business Casual Attire"],
'Weapon': ['None']
}
def equip():
print inventory
equip_items ={'Clothes': "Business Casual Attire",
'Weapon': 'None'}
while equip:
print ' '
equip_load = raw_input("Type the item name to equip.: ").lower()
if equip_load == 'hipster attire':
if 'Hipster Attire' in inventory['Clothes']:
print "Hipster Attire has been equiped!"
print "UPDATED EQUIPPED ITEMS"
print ' '
for x in equip_items:
if x in equip_items:
inventory['Clothes'] = 'Hipster Attire'
print equip_items
continue
else:
print "You do not have this item! "
print "Your inventory list is: "
equip()
def room():
#Player does stuff here; allows them to access inventory equip new items.
所以我的想法是把裝備項目機制的庫存系統相結合。要做到這一點,我需要玩家能夠調用他們的庫存功能,然後從那裏退出該功能並返回到他們所在的任何功能。我是否正確設置了它?或者我真的沒有在這裏,可以這麼說?我是否正確理解這些概念?謝謝您的幫助。
您的函數可能需要一個'return'語句,然後將該函數分配給調用過程中的一個對象。也可能是一個瞭解使用類的好項目。很難說更具體的。這是一個相當廣泛的問題。如果你可以在你的實現中描述一個特定的問題,而不僅僅是「我想要做的是X ...」的列表,那麼這將有所幫助 –
@DavidZemens在Python中,沒有'return'語句的函數(或退出沒有達到一個)默認返回'None'。 –