diff --git a/ActionModul.py b/ActionModul.py index 04853da..dae1c10 100644 --- a/ActionModul.py +++ b/ActionModul.py @@ -50,25 +50,36 @@ class ActionModul: else: self.setFehler("Diesen Gegenstand besitzt du nicht.") + def untersucheAktuellenRaum(self, parsedCommand): + raum = self.world.sucheRaumName(parsedCommand.gegenstand) + + logging.debug(f'raumId {raum.id}') + logging.debug(f'untersucheAktuellenRaum() {parsedCommand.gegenstand} in {self.world.aktuellerRaum.id}') + if raum.id == self.world.aktuellerRaum.id: + logging.debug(f'untersuche aktuellen Raum {raum.name}') + if raum.id == '5': + #Schlüssel im Keller sichtbar machen + logging.debug('mache Schlüssel sichtbar') + schluessel = self.world.findRaumItemById('9') + schluessel.sichtbar = True + + def untersuche(self,parsedCommand): logging.debug('untersuche() suche nach Gegenstand:' + parsedCommand.gegenstand) item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand) if item != None: - if item.id == '10': - schluessel = self.world.findRaumItemById('11') - logging.debug('mache Gegenstand ' + schluessel.name + ' sichtbar') - schluessel.sichtbar = True - self.world.printText('2') - elif item.id == '4': + if item.id == '4': glas = self.world.findRaumItemById('6') logging.debug(f'mache Gegenstand {glas.name} sichtbar') glas.sichtbar = True elif item.id == '7': # Falltür sichtbar machen - self.world.aktuellerRaum.ausgaenge[self.world.RUNTER] = '8' + self.world.aktuellerRaum.ausgaenge[self.world.RUNTER] = '5' + self.setFehler('Im Boden unter dem Bett findest du eine Falltür, die nach unten führt.') else: - self.setFehler("Das sehe ich hier nicht.") + logging.debug('Kein Item gefunden, suche nach Raum') + self.untersucheAktuellenRaum(parsedCommand) def ziehe(self,parsedCommand): item = self.world.findIteminAktuellerRaum(parsedCommand.gegenstand) @@ -77,7 +88,7 @@ class ActionModul: if item.id == 8: self.world.stdscr.addstr('Du ziehst den Hebel und es passiert.... nichts!') else: - self.setFehler("diesen Gegenstand sehe ich hier nicht.") + self.setFehler('Das sehe ich hier nicht.') def nimm(self,parsedCommand): item = self.world.findIteminAktuellerRaum(parsedCommand.gegenstand) @@ -100,26 +111,28 @@ class ActionModul: def gehe(self): richtung = self.world.parsedCommand.gegenstand - print("gehe nach " + richtung) + logging.debug("gehe nach " + richtung) if richtung == 'nord': self.nord() def geheNach(self,richtung): + logging.debug(f'geheNach() Richtung {richtung}') raum = self.world.aktuellerRaum if raum.ausgaenge[richtung]: ausgang = raum.sucheRaumAusgang(richtung) - print("gefundener Ausgang: " + ausgang) + logging.debug(f'gefundener Ausgang: {ausgang}') if ausgang != None: raum = self.world.sucheRaum(ausgang) - print("gefundener Raum "+ raum.name) else: + logging.warn('Keine AusgandId gefunde') self.setFehler("In diese Richtung gibt's keine Ausgang!") if raum != None: self.world.aktuellerRaum = raum else: + logging.debug('Kein Raum zur AusgangId') self.setFehler("In diese Richtung gibt's keine Ausgang!") else: self.setFehler("In diese Richtung kannst du nicht gehen") @@ -143,7 +156,7 @@ class ActionModul: self.geheNach(self.world.RUNTER) def about(self): - print("Kerker Version " + self.world.VERSION) + print("Tomb Version " + self.world.VERSION) self.world.waitForCR def raumaction(self): diff --git a/World.py b/World.py index 6575783..712a650 100644 --- a/World.py +++ b/World.py @@ -74,6 +74,13 @@ class World: return raum return None + def sucheRaumName(self,name): + for raumid in self.raumliste: + raum = self.raumliste[raumid] + if raum.name == name: + return raum + return None + def findItemImInventarOderAktuellerRaum(self,itemname): item = self.findItemImInventar(itemname) diff --git a/world.xml b/world.xml index b37817c..0708397 100644 --- a/world.xml +++ b/world.xml @@ -28,10 +28,10 @@ Neben dem Bett steht ein Nachtschrank mit Schublade. - - + + - Treppenhaus im Keller + Kellerraum @@ -93,6 +93,7 @@ + @@ -103,6 +104,8 @@ + +