Exemple #1
0
class Game(object):
    """
    """
    def __init__(self, name=""):
        self.name = name
        self.session = Session(name, game=self)
        self.story = None
        self.parser = None
        self.player = None

    def setUpStory(self):
        sys.path.insert(0, config.game.storydir)
        moduleData = imp.find_module(
            config.game.storymodule, [config.game.storydir])
        module = imp.load_module(config.game.storymodule, *moduleData)
        self.story = Story(config.game.storyfile)
        module.customizeItems(self.story)

    def setUpPlayer(self):
        self.player = self.story.world.player
        self.player.story = self.story

    def start(self):
        self.setUpStory()
        self.setUpPlayer()
        self.parser = ShellParser(session=self.session)

    def parseCommand(self, commandText):
        cmd = self.parser.parseCmd(commandText)
        #if isinstance(cmd, basestring):
        if cmd is not None:
            return cmd.command(self.player)

    def finish(self):
        # XXX do a terminal write here
        print
        print "You ended the game with:"
        for item in self.player.inv:
            print " -", util.aOrAn(item), item
        log = registry.getLogger()
        log.msg("Game has ended.")
Exemple #2
0
 def start(self):
     self.setUpStory()
     self.setUpPlayer()
     self.parser = ShellParser(session=self.session)