在Python中从一个类“移动”到另一个类

时间:2012-05-12 18:06:57

标签: python oop

所以,我有这个问题,我正在努力,如果有人能指出我正确的方向,我会非常感激。让我为你设置一下。

我有一个名为rooms的Python文件/模块,其中包含类,如下所示:

class Intro(object):

    def __init__(self):
         # Setting up some variables here

    def description(self):
        print "Here is the description of the room you are in"

哪个都很酷,东西好吗?然后在另一个名为Engine的文件/模块上。我有这个:

import rooms

class Engine(object):

    def __init__(self, first_class):
        self.lvl = first_class

    def play_it(self):
        next_lvl = self.lvl

        while True:
            # Get the class we're in & run its description
            next_lvl.description() # it works.
            # But how do I get the next class when this class is done?

根据用户在每个房间/级别类别中的决定,看看我想要发生什么,引擎会调用新的类及其描述功能/属性。那有意义吗?还是有另一种方式我应该考虑这个?我有时会倒退。谢谢。

1 个答案:

答案 0 :(得分:3)

委派选择下一个要使用的课程。例如

class Intro(object):

    def __init__(self):
         # Setting up some variables here

    def description(self):
        print "Here is the description of the room you are in"

    def north(self):
        return Dungeon()

    def west(self):
        return Outside()

    #etc

因此,当玩家在简介室中说“向西走”时,引擎会调用room.west(),而Intro会回复Outside个房间。

希望这已经足够了!我希望你能做出自己的设计。