From d67f6903c72a44685171ac7bfd75a678d380eef0 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Sun, 22 May 2022 10:29:37 +0200 Subject: [PATCH] Fisch, Brachland, Wiese usw. --- ActionModul.py | 31 +++++++++++++++++++------------ World.py | 9 ++++++--- map.txt | 9 +++++++-- world.xml | 42 ++++++++++++++++++++++++++++++++++++------ 4 files changed, 68 insertions(+), 23 deletions(-) diff --git a/ActionModul.py b/ActionModul.py index 8899342..c124a15 100644 --- a/ActionModul.py +++ b/ActionModul.py @@ -51,10 +51,12 @@ class ActionModul: schluessel.sichtbar = False self.ausDemInventar(schluessel) seil = self.world.findItemById(self.world.ITEM_SEIL) + seil.raumid = self.world.aktuellerRaum.id seil.sichtbar = True self.world.aktuellerRaum.items[seil.id] = seil schwert = self.world.findItemById(self.world.ITEM_SCHWERT) schwert.sichtbar = True + schwert.raumid = self.world.aktuellerRaum.id self.world.aktuellerRaum.items[schwert.id] = schwert self.setFehler('Aus der Truhe fallen ein Seil und ein Schwert. Der kleine Schlüssel löst sich auf.') else: @@ -89,7 +91,7 @@ class ActionModul: self.rauf() elif item.id == self.world.ITEM_PLANKE: if self.isAktuellerRaum(self.world.RAUM_BACH): - baueBruecke() + self.baueBruecke() self.setFehler('Du legst die Planke über den Bach und es ensteht eine Brücke.') else: self.setFehler('Das macht hier keinen Sinn.') @@ -172,6 +174,7 @@ class ActionModul: logging.debug(f'untersuche() suche nach Gegenstand: {parsedCommand.gegenstand}') if parsedCommand.gegenstand == None: self.untersucheAktuellenRaum() + return item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand) @@ -201,6 +204,10 @@ class ActionModul: fisch.sichtbar = True elif item.id == self.world.ITEM_JACKE: self.findeTruhenschluessel() + elif item.id == self.world.ITEM_FISCH: + self.zeigeItemBeschreibung(item) + item.sichtbar = False + self.ausDemInventar(item) else: self.zeigeItemBeschreibung(item) @@ -244,7 +251,7 @@ class ActionModul: def nimm(self,parsedCommand): item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand) - logging.debug(f'nimm: item == {item}') + logging.debug(f'nimm(): item == {item}') if item != None: if item.imobil: text = self.world.msg[item.pickupmsg] @@ -261,21 +268,21 @@ class ActionModul: aufnehmen = True - logging.debug(f'nimm: RaumId== {self.world.aktuellerRaum.id}') + logging.debug(f'nimm(): RaumId== {self.world.aktuellerRaum.id}') if self.isAktuellerRaum(self.world.RAUM_BACH): - logging.debug(f'nimm: ItemId == {item.id}') + logging.debug(f'nimm(): ItemId == {item.id}') if item.id == self.world.ITEM_PLANKE: logging.debug('nehme Planke am Bach') self.world.aktuellerRaum.ausgaenge[self.world.SUED] = '-1' - elif self.isAktuellerRaum(self.world.RAUM_TEICH): - if item.id == self.world.ITEM_FISCH: - krug = self.world.findItemImInventarById(self.world.ITEM_KRUG) + elif self.isAktuellerRaum(self.world.RAUM_TEICH): + if item.id == self.world.ITEM_FISCH: + krug = self.world.findItemImInventarById(self.world.ITEM_KRUG) - if krug != None: - self.setFehler('Du schöpfst mit dem Krug und der Fisch ist drin.') - else: - self.setFehler('Der Fisch ist zu glitschig, um ihn mit der Hand zu fangen.') - aufnehmen = False + if krug != None: + self.setFehler('Du schöpfst mit dem Krug und der Fisch ist drin.') + else: + self.setFehler('Der Fisch ist zu glitschig, um ihn mit der Hand zu fangen.') + aufnehmen = False if aufnehmen: self.insInventar(item) diff --git a/World.py b/World.py index b90773b..ae3c065 100644 --- a/World.py +++ b/World.py @@ -131,12 +131,13 @@ class World: for itemid in raum.items: item = raum.items[itemid] - logging.debug('raum.id=' + raum.id) - logging.debug('item.raumid=' + item.raumid) - logging.debug('findItemInAktuellerRaum() ' + itemname + '-' + item.name) + logging.debug(f'raum.id={raum.id}') + logging.debug(f'item.raumid={item.raumid}') + logging.debug(f'findItemInAktuellerRaum() {itemname} - {item.name}') if item.raumid == raum.id and item.name.lower() == itemname.lower(): return item + logging.debug(f'Item {itemname} nicht im aktuellen Raum gefunden') return None def findRaumItemById(self,id): @@ -290,6 +291,8 @@ class World: self.RAUM_TEICH = '10' self.RAUM_FELD = '11' self.RAUM_KLEINES_FELD = '12' + self.RAUM_WIESE = '13' + self.RAUM_BRACHLAND = '14' # Personen diff --git a/map.txt b/map.txt index 18b97b6..8895c39 100644 --- a/map.txt +++ b/map.txt @@ -10,11 +10,16 @@ ^ | V - Bach + Bach<-->Teich ^ | V - Feld + Wiese<------->Feld + ^ ^ + | | + | | + V V + Brachland kleines Feld diff --git a/world.xml b/world.xml index 8794884..5ba9ded 100644 --- a/world.xml +++ b/world.xml @@ -53,7 +53,7 @@ - + Du stehst an einem Bach. @@ -76,11 +76,27 @@ + Ein kleineres Feld. + + + + + + Du stehst auf einer Wiese, die nach + + + + + + + Brachland. Hier wächst nicht viel abgesehen von einer einzelnen Bohnenranke. + + @@ -164,11 +180,12 @@ + - + @@ -178,10 +195,11 @@ + - + @@ -194,29 +212,41 @@ Der Schlüssel schimmert etwas bläulich. + + Mit mehreren Quersprossen reicht das Gitter bis zum Dach. Es ist ziemlich massiv. + Die Planke wirkt stabil genug, dein Gewicht zu tragen. Der Teich wird vom Bach gespeist.Einige Wassertiere leben darin. + + Der magische Fisch sagt: Pflanzen brauchen Wasser und verschwindet. + Der Boxsack trägt die Aufschrift: Eigentum von Maddes. Außerdem hat jemand ein großes V draufgemalt. Die ist mausetot. + + Ein Bohnengewächs der märchenhaften Gattung vigna hansus magicus. + - Das Grab des Azteken ist ein klassisches Textadventure. Es ist eine Adaption des gleichnamigen Adventures vom C64. + Das Grab des Azteken ist ein klassisches Textadventure. + Es ist eine Adaption des gleichnamigen Adventures vom C64. Du bedienst es durch Befehle wie "nimm Schwert" oder "gehe Süd". Die Eingabe ist so flexibel wie möglich gestaltet, so dass auch ganze Sätze wie "nimm das Schwert" verstanden werden. - Die Liste der möglichen Befehle erhälst du mit "hilfe befehle" + Die Liste der möglichen Befehle erhälst du mit "hilfe befehle". + Die Aufgabe gibt dir jemand im Spiel. Ich bin der Geist deines Großonkels Henry. Mein ganzes Leben habe ich damit verbracht, das Himmelsgrab der Azteken zu finden, wie zuvor mein Vater. Leider erfolglos. - Jetztmusst du dich auf die Suche machen, so dass ich endlich meinen Frieden finden kann. + Jetzt musst du dich auf die Suche machen, so dass ich endlich meinen Frieden finden kann. + Suche das Grab im Wolkenreich.Öffne es und ich bin erlöst.