Öffnen der Haustür.

Neuer Raum: Vorgarten und Dach.
This commit is contained in:
Olli Graf
2022-04-27 20:32:13 +02:00
parent 71e76c957e
commit db0493c49f
3 changed files with 46 additions and 26 deletions

View File

@@ -25,17 +25,34 @@ class ActionModul:
zeile = zeile +1 zeile = zeile +1
def oeffne(self,parsedCommand): 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: if item != None:
logging.debug(f'öffne ItemId= {item.id}')
if item.id == self.world.ITEM_TRUHE: 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: if schluessel != None:
item.zustand = item.OFFEN item.zustand = item.OFFEN
self.setFehler('Truhe ist jetzt 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: 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): def verliere(self,parsedCommand):
@@ -82,9 +99,12 @@ class ActionModul:
schluessel.sichtbar = True schluessel.sichtbar = True
def untersuche(self,parsedCommand): 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) item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand)
if item != None: if item != None:
@@ -94,12 +114,12 @@ class ActionModul:
glas.sichtbar = True glas.sichtbar = True
elif item.id == self.world.ITEM_BETT: elif item.id == self.world.ITEM_BETT:
# Falltür sichtbar machen # 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.') self.setFehler('Im Boden unter dem Bett findest du eine Falltür, die nach unten führt.')
elif item.id == self.world.ITEM_NACHTSCHRANK: elif item.id == self.world.ITEM_NACHTSCHRANK:
self.setFehler('In der Schublade findest du einen Schlüssel') self.setFehler('In der Schublade findest du einen Schlüssel')
schluessel = self.world.findRaumItemById(self.world.ITEM_HAUSTUERSCHLUESSEL) schluessel = self.world.findRaumItemById(self.world.ITEM_HAUSTUERSCHLUESSEL)
#schluessel.sichtbar = True schluessel.sichtbar = True
else: else:
logging.debug('Kein Item gefunden, suche nach Raum') logging.debug('Kein Item gefunden, suche nach Raum')
self.untersucheAktuellenRaum(parsedCommand) self.untersucheAktuellenRaum(parsedCommand)

View File

@@ -202,6 +202,7 @@ class World:
self.ITEM_SCHWERT = '11' self.ITEM_SCHWERT = '11'
self.ITEM_SEIL = '12' self.ITEM_SEIL = '12'
self.ITEM_HAUSTUERSCHLUESSEL = '13' self.ITEM_HAUSTUERSCHLUESSEL = '13'
self.ITEM_RANKGITTER = '14'
# Räume # Räume
@@ -210,7 +211,10 @@ class World:
self.RAUM_FLUR = '3' self.RAUM_FLUR = '3'
self.RAUM_SCHLAFZIMMER = '4' self.RAUM_SCHLAFZIMMER = '4'
self.RAUM_KELLER = '5' self.RAUM_KELLER = '5'
self.RAUM_GARTEN = '6'
self.RAUM_DACH = '7'
self.fehler = '' self.fehler = ''
parser = WorldParser.WorldParser(self) parser = WorldParser.WorldParser(self)
parser.parseWorld('world.xml') parser.parseWorld('world.xml')

View File

@@ -14,7 +14,6 @@
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='3' name='Flur'> <raum id='3' name='Flur'>
<ausgang dir='Sued' nachRaum='1' />
<ausgang dir='Nord' nachRaum='1' /> <ausgang dir='Nord' nachRaum='1' />
<ausgang dir='West' nachRaum='4' /> <ausgang dir='West' nachRaum='4' />
<beschreibung> <beschreibung>
@@ -35,24 +34,20 @@
Kellerraum Kellerraum
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='10' name='Treppenhaus Kerkerebene'> <raum id='6' name='Garten'>
<ausgang dir='Runter' nachRaum='5' /> <ausgang dir='Nord' nachRaum='3' />
<ausgang dir='Sued' nachRaum='11' /> <ausgang dir='Rauf' nachRaum='7' />
Du stehst im Vorgarten, die Haustür führt zurück ins Haus.
<beschreibung> <beschreibung>
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.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='11' name='Zellblockgang'> <raum id='7' name='Dach'>
<ausgang dir='Nord' nachRaum='10' /> <ausgang dir='Runter' nachRaum='6' />
<ausgang dir='Ost' nachRaum='12' /> Du hast das Dach erklommen.
<beschreibung> <beschreibung>
Vom Gang im Zellblock führt eine Tür nach Osten in die Kerkerzelle. Über der Tür hängt ein Hinweisschild. Du hast das Dach erklommen.
</beschreibung>
</raum>
<raum id='12' name='Kerkerzelle'>
<ausgang dir='West' nachRaum='11' />
<beschreibung>
Vom Gang im Zellblock führt eine Tür nach Osten in die Kerkerzelle.
</beschreibung> </beschreibung>
</raum> </raum>
</ebene> </ebene>
@@ -110,7 +105,7 @@
<item name='Leiter' id='2' raum='1' imobil='true' adjektiv = '0' msgid='1' visible='true' /> <item name='Leiter' id='2' raum='1' imobil='true' adjektiv = '0' msgid='1' visible='true' />
<item name='Truhe' id='3' raum='2' imobil='false' adjektiv = '0' msgid='4' visible='true' /> <item name='Truhe' id='3' raum='2' imobil='false' adjektiv = '0' msgid='4' visible='true' />
<item name='Pflanze' id='4' raum='3' imobil='false' adjektiv = '0' msgid='3' visible='true' /> <item name='Pflanze' id='4' raum='3' imobil='false' adjektiv = '0' msgid='3' visible='true' />
<item name='Haustür' id='5' raum='3' imobil='true' adjektiv = '0' msgid='3' visible='true' /> <item name='Haustür' id='5' raum='3' imobil='true' adjektiv = '0' msgid='5' visible='true' />
<item name='Glas' id='6' raum='3' imobil='false' adjektiv = '0' msgid='3' visible='false' /> <item name='Glas' id='6' raum='3' imobil='false' adjektiv = '0' msgid='3' visible='false' />
<item name='Bett' id='7' raum='4' imobil='true' adjektiv = '0' msgid='1' visible=' true' /> <item name='Bett' id='7' raum='4' imobil='true' adjektiv = '0' msgid='1' visible=' true' />
<item name='Nachtschrank' id='8' raum='4' imobil='true' adjektiv = '0' msgid='1' visible=' true' /> <item name='Nachtschrank' id='8' raum='4' imobil='true' adjektiv = '0' msgid='1' visible=' true' />
@@ -118,7 +113,8 @@
<item name='Jacke' id='10' raum='5' imobil='false' adjektiv = '0' msgid='1' visible='true' /> <item name='Jacke' id='10' raum='5' imobil='false' adjektiv = '0' msgid='1' visible='true' />
<item name='Schwert' id='11' raum='5' imobil='false' adjektiv = '0' msgid='1' visible='false' /> <item name='Schwert' id='11' raum='5' imobil='false' adjektiv = '0' msgid='1' visible='false' />
<item name='Seil' id='12' raum='5' imobil='false' adjektiv = '0' msgid='1' visible='false' /> <item name='Seil' id='12' raum='5' imobil='false' adjektiv = '0' msgid='1' visible='false' />
<item name='Haustürschlüssel' id='13' raum='5' imobil='false' adjektiv = '0' msgid='1' visible='false' /> <item name='Haustürschlüssel' id='13' raum='4' imobil='false' adjektiv = '0' msgid='1' visible='false' />
<item name='Rankgitter' id='14' raum='6' imobil='false' adjektiv = '0' msgid='1' visible='true' />
</items> </items>
<personen> <personen>