在我的课堂上,我们正在进行文字冒险,而我只是想在房间之间走动。到目前为止,我做了一个名为" Room"的课程。
class Room(object):
def __init__(self,name):
self.name = name
以及一些可以在子类之间移动的房间。
class Backyard(Room):
global current
def __init__(self):
self.name = "Backyard"
def choose(self,choice):
if "north" in choice:
current = kitchen
else:
print("You cannot go that way")
return current
class Kitchen(Room):
global current
def __init__(self):
self.name = "Kitchen"
def choose(self,choice):
if "south" in choice:
current = yard
else:
print("You cannot go that way")
return current
yard = Backyard()
kitchen = Kitchen()
现在,为了运行实际游戏,我有了这个。
run = True
current = yard
show_yard
while run:
choose(input(">>> ")
show_current
show_yard函数只打印出那个房间(院子)的描述,但是当我运行游戏时,我希望能够使用show_current,这样无论变量是什么'当前'设置为,它会读取该描述,但它会给我一个错误,因为没有名为' show_current'。
的功能。我想知道在调用函数时是否有某种方法可以插入变量,这样我就不必编写一大堆代码来解决一些简单易行的问题。感谢。
答案 0 :(得分:1)
如果您向show()
添加Room
方法,则可以在其子类的每个实例上调用它:
class Room(object):
def __init__(self,name):
self.name = name
def show(self):
print(self.name)