2

所以,我正在解决这个问题,如果有人能指出我正确的方向,我将不胜感激。让我为你设置。

我有 1 个名为房间的 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?

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

4

1 回答 1

2

将选择接下来要使用的班级委托给房间。例如

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

因此,当玩家在 Intro 房间中说“向西”时,引擎会调用room.west()并且Intro房间返回Outside房间。

希望这是足够的提示!我希望你会想要自己设计。

于 2012-05-12T18:36:24.413 回答