我开始编写一个基于文本的游戏 在文件模块中调用函数的主程序。
有一种特殊情况,即调用文件模块和函数,函数(在模块中)应在Main()程序中附加一个列表(全局变量)。
问题是它无法追加它。
因此,更具体地说,在游戏中,玩家进入一个房间(RoomA2)并且有一个物体(剑)。 玩家可以拿起它(我希望该功能将其从名为object_room_a2的列表中删除)并将剑放入他的包里。 因此,bag是Main()程序中的全局列表(称为object_list)。
请下面的代码,感谢您的帮助!
object_list = []
def main():
print('stuff.. What do you want to do? (1) do this; (2) do that')
choice = int(input('Choice --> '))
if choice == 1 :
RoomA2.room_a2()
elif choice == 2 :
RoomB1.room_b1()
def room_a2():
object_room_a2 = ['sword']
print('stuff.. What do you want to do? (1) do this; (2) do that')
choix = int(input('choix --> '))
if choix == 1:
object_room_a2.remove('sword')
object_list.append('sword')
if choix == 2:
RoomA1.room_a1()
答案 0 :(得分:1)
问题在于,每次调用room_a2
时,object_room_a2
都会重新初始化,因此剑会不断重现。
一般来说,这是一种非常复杂的方式来做你想做的事情。一个玩家对象和一组房间对象可以减少代码,但我认为你是一个初学者,并且可能希望首先以这种方式工作。