def run(self): self.player = Player(name='Player') createRooms() createAgents() createItems() fillContainers() entityNouns = [x.lower() for x in self.getEntityNames()] dictionary.get('nouns').extend(entityNouns) interpreter = Interpreter(dictionary=dictionary, thesaurus=thesaurus) self.player.changeOwner(Room.getRoom('Entrance')) print self.player.currentOwner.getDescription() while(True): actionText = raw_input('>') try: sentence = interpreter.evaluate(actionText) action = Action(sentence=sentence, player=self.player) succeeded = action.act() if not succeeded: raise CouldNotInterpret('I understood "%s", but did not know what to do with it.' % actionText) except DenyInput, e: print str(e) continue except PlayerDeath: print "You have died" sys.exit()
def handleReceiveThrow(self, throwingAgent, itemBeingThrown): inPondRoom = Room.getRoom('In the Pond') itemBeingThrown.changeOwner(inPondRoom) print 'The %s hits the surface of the pond and disappears underneath the surface.' %\ itemBeingThrown.getDisplayNameWithDefiniteArticle()
def fillContainers(): wall = Item.getItem('Wall') pathToTown = Item.getItem('Path To Town') player = Agent.getAgent('Player') player.addEntity(Item.getItem('Note from Unknown Party')) table = Item.getItem('Table') sunlightRoom = Room.getRoom('Sunlight Room') sunlightRoom.addEntity(Item.getItem('Note from Adventurer')) sunlightRoom.addEntity(table) sunlightRoom.addEntity(wall) table.addEntity(Item.getItem('Apple')) table.addEntity(Item.getItem('Paper')) table.addEntity(Item.getItem('Pencil')) sack = Item.getItem('Canvas Sack') entrance = Room.getRoom('Entrance') entrance.addEntity(pathToTown) entrance.addEntity(wall) entrance.addEntity(sack) sack.addEntity(Item.getItem('Dagger')) pathToTownLocation = Room.getRoom('North Of Town') pathToTownLocation.addEntity(Item.getItem('Rock')) pathToTownLocation.addEntity(pathToTown) townGate = Room.getRoom('Town Gate') townGate.addEntity(Item.getItem('Rope')) wolfDen = Room.getRoom('Wolf Den') wolfDen.addEntity(Agent.getAgent('Wolf')) wolfDen.addEntity(Item.getItem('Blue Key')) townPlaza = Room.getRoom('Town Plaza') townPlaza.addEntity(Agent.getAgent('Dark Henry')) pond = Room.getRoom('Pond') tree = Item.getItem('Tree') pond.addEntity(tree) tree.addEntity(Item.getItem('Acorn')) pond.addEntity(Item.getItem('Pond')) darkRoom = Room.getRoom('Dark Room') darkRoom.addEntity(Item.getItem('Crate'))
def getEntityNames(self): return Agent.getNames() + Room.getNames() + Item.getNames()
def handleSwim(self, swimmingAgent): inPondRoom = Room.getRoom('In the Pond') swimmingAgent.changeOwner(inPondRoom) print inPondRoom.getDescription()