1

我开始在一个调用文件模块中的函数的主程序中编写一个基于文本的游戏。

有一种特殊情况,文件模块和函数被调用并且函数(在模块中)应该在 Main() 程序(全局变量)中附加一个列表。

问题是它不能附加它。

所以,更具体地说,在游戏中,玩家进入一个房间(RoomA2),并且有一个物体(剑)。玩家可以捡起它(我希望函数将它从名为 object_room_a2 的列表中删除)并将剑放在他的包里。因此,包是 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()
4

1 回答 1

1

问题是每次room_a2调用object_room_a2都会重新初始化,所以剑会不断重新出现。

一般来说,这是一种非常复杂的方法来做你想做的事情。一个播放器对象和一组房间对象的代码会少得多,但我假设您是初学者,可能希望首先让几个房间以这种方式工作。

于 2012-11-19T20:35:11.480 回答