diff --git a/ActionModul.py b/ActionModul.py
index 1f0cfe4..a8400cb 100644
--- a/ActionModul.py
+++ b/ActionModul.py
@@ -25,17 +25,34 @@ class ActionModul:
zeile = zeile +1
def oeffne(self,parsedCommand):
- item = self.world.findItemImInventar(parsedCommand.gegenstand);
+ item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand);
+ logging.debug(f'öffne RaumId= {self.world.aktuellerRaum.id}')
+ logging.debug(f'öffne Item= {item}')
if item != None:
+ logging.debug(f'öffne ItemId= {item.id}')
if item.id == self.world.ITEM_TRUHE:
- schluessel = self.world.findItemImInventarById(self.world.ITEM_KLEINER_SCHLUESSEL)
+ logging.debug('öffne Truhe')
+ schluessel = self.world.findItemImInventarById(self.world.ITEM_KLEINER_SCHLUESSEL)
+ if schluessel != None:
+ item.zustand = item.OFFEN
+ self.setFehler('Truhe ist jetzt offen')
+ else:
+ self.setFehler('Die Truhe ist verschlossen und dir fehlt der passende Schlüssel.')
+
+ elif item.id == self.world.ITEM_HAUSTUER:
+ if self.world.aktuellerRaum.id == self.world.RAUM_FLUR:
+ schluessel = self.world.findItemImInventarById(self.world.ITEM_HAUSTUERSCHLUESSEL)
+
+ logging.debug(f'öffne Haustür Schlüssel ist {schluessel}')
if schluessel != None:
- item.zustand = item.OFFEN
- self.setFehler('Truhe ist jetzt offen')
+ item.zustand = item.OFFEN
+ self.setFehler('Die Haustür ist geöffnet und führt in den Garten.')
+ self.world.aktuellerRaum.ausgaenge[self.world.SUED] = self.world.RAUM_GARTEN
else:
- self.setFehler('Die Truhe ist verschlossen und du hast keinen Schlüssel.')
+ logging.debug('öffne Haustür kein Haustürschlüssel')
+ self.setFehler('Die Tür ist verschlossen.')
def verliere(self,parsedCommand):
@@ -82,9 +99,12 @@ class ActionModul:
schluessel.sichtbar = True
-
def untersuche(self,parsedCommand):
- logging.debug('untersuche() suche nach Gegenstand:' + parsedCommand.gegenstand)
+ logging.debug(f'untersuche() suche nach Gegenstand: {parsedCommand.gegenstand}')
+ if parsedCommand.gegenstand == None:
+ self.untersucheAktuellenRaum
+ return
+
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand)
if item != None:
@@ -94,12 +114,12 @@ class ActionModul:
glas.sichtbar = True
elif item.id == self.world.ITEM_BETT:
# Falltür sichtbar machen
- self.world.aktuellerRaum.ausgaenge[self.world.RUNTER] = '5'
+ self.world.aktuellerRaum.ausgaenge[self.world.RUNTER] = self.world.RAUM_KELLER
self.setFehler('Im Boden unter dem Bett findest du eine Falltür, die nach unten führt.')
elif item.id == self.world.ITEM_NACHTSCHRANK:
self.setFehler('In der Schublade findest du einen Schlüssel')
schluessel = self.world.findRaumItemById(self.world.ITEM_HAUSTUERSCHLUESSEL)
- #schluessel.sichtbar = True
+ schluessel.sichtbar = True
else:
logging.debug('Kein Item gefunden, suche nach Raum')
self.untersucheAktuellenRaum(parsedCommand)
diff --git a/World.py b/World.py
index eb90f20..5267aef 100644
--- a/World.py
+++ b/World.py
@@ -202,6 +202,7 @@ class World:
self.ITEM_SCHWERT = '11'
self.ITEM_SEIL = '12'
self.ITEM_HAUSTUERSCHLUESSEL = '13'
+ self.ITEM_RANKGITTER = '14'
# Räume
@@ -210,7 +211,10 @@ class World:
self.RAUM_FLUR = '3'
self.RAUM_SCHLAFZIMMER = '4'
self.RAUM_KELLER = '5'
+ self.RAUM_GARTEN = '6'
+ self.RAUM_DACH = '7'
+
self.fehler = ''
parser = WorldParser.WorldParser(self)
parser.parseWorld('world.xml')
diff --git a/world.xml b/world.xml
index 80af372..2816e7c 100644
--- a/world.xml
+++ b/world.xml
@@ -14,7 +14,6 @@
-
@@ -35,24 +34,20 @@
Kellerraum
-
-
-
+
+
+
+ Du stehst im Vorgarten, die Haustür führt zurück ins Haus.
- Treppenhaus in der Kerkerebene. Eine Tür führt nach Süden. Über der Tür hängt ein Hinweisschild.
+ Du stehst im Vorgarten vor dem Haus. Durch die Tür im Norden gelangst du zurück ins Haus. Rechts neben der Tür
+ wächst Efeu an einem Rankgitter bis zum Dach hinauf.
-
-
-
+
+
+ Du hast das Dach erklommen.
- Vom Gang im Zellblock führt eine Tür nach Osten in die Kerkerzelle. Über der Tür hängt ein Hinweisschild.
-
-
-
-
-
- Vom Gang im Zellblock führt eine Tür nach Osten in die Kerkerzelle.
+ Du hast das Dach erklommen.
@@ -110,7 +105,7 @@
-
+
@@ -118,7 +113,8 @@
-
+
+