benutze/klettere Leiter

findItemById() iteriert jetzt richtig übers Dictionary
This commit is contained in:
Olli Graf
2022-05-12 19:19:28 +02:00
parent fe5ee8b197
commit f702995afd
5 changed files with 100 additions and 12 deletions

View File

@@ -47,6 +47,12 @@ class ActionModul:
if schluessel != None:
item.zustand = item.OFFEN
seil = self.world.findItemById(self.world.ITEM_SEIL)
seil.sichtbar = True
self.world.aktuellerRaum.gegenstaende[seil.id] = seil
schwert = self.world.findItemById(self.world.ITEM_SCHWERT)
schwert.sichtbar = True
self.world.aktuellerRaum.gegenstaende[schwert.id] = schwert
self.setFehler('Truhe ist jetzt offen')
else:
self.setFehler('Die Truhe ist verschlossen und dir fehlt der passende Schlüssel.')
@@ -65,6 +71,17 @@ class ActionModul:
self.setFehler('Die Tür ist verschlossen.')
def benutze(self, parsedCommand):
leiter = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
logging.debug(f'benutze(): Leiter is {leiter}')
if leiter != None:
if(self.world.aktuellerRaum.id == self.world.RAUM_ESSZIMMER):
logging.debug(f'aktuellerRaum ist {self.world.aktuellerRaum.id}')
self.rauf()
else:
self.setFehler('Eine Leiter sehe ich hier nicht.')
def verliere(self,parsedCommand):
item = self.world.findItemImInventar(parsedCommand.gegenstand);
@@ -138,6 +155,10 @@ class ActionModul:
self.setFehler('In der Schublade findest du einen Schlüssel')
schluessel = self.world.findRaumItemById(self.world.ITEM_HAUSTUERSCHLUESSEL)
schluessel.sichtbar = True
elif item.id == self.world.ITEM_TEICH:
self.setFehler('Im Teich schwimmt ein kleiner Fish')
fisch = self.world.findItemInAktuellerRaum(self.world.ITEM_FISCH)
fisch.sichtbar = True
else:
logging.debug('Kein Item gefunden, suche nach Raum')
self.untersucheAktuellenRaum(parsedCommand)
@@ -152,6 +173,21 @@ class ActionModul:
else:
self.setFehler('Das sehe ich hier nicht.')
def fange(self, parsedCommand):
skip
def klettere(self, parsedCommand):
leiter = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
logging.debug(f'klettere(): Leiter is {leiter}')
if leiter != None:
if(self.world.aktuellerRaum.id == self.world.RAUM_ESSZIMMER):
logging.debug(f'aktuellerRaum ist {self.world.aktuellerRaum.id}')
self.rauf()
else:
self.setFehler('Eine Leiter sehe ich hier nicht.')
def nimm(self,parsedCommand):
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
@@ -181,12 +217,18 @@ class ActionModul:
self.setFehler("diesen Gegenstand sehe ich hier nicht.")
def gehe(self):
richtung = self.world.parsedCommand.gegenstand
def gehe(self,parsedCommand):
richtung = parsedCommand.gegenstand.lower()
logging.debug("gehe nach " + richtung)
if richtung == 'nord':
self.nord()
elif richtung == 'süd':
self.sued()
if richtung == 'west':
self.west()
if richtung == 'ost':
self.ost()
def geheNach(self,richtung):
logging.debug(f'geheNach() Richtung {richtung}')