Fisch, Brachland, Wiese usw.

This commit is contained in:
Olli Graf
2022-05-22 10:29:37 +02:00
parent 15132268d0
commit d67f6903c7
4 changed files with 68 additions and 23 deletions

View File

@@ -51,10 +51,12 @@ class ActionModul:
schluessel.sichtbar = False schluessel.sichtbar = False
self.ausDemInventar(schluessel) self.ausDemInventar(schluessel)
seil = self.world.findItemById(self.world.ITEM_SEIL) seil = self.world.findItemById(self.world.ITEM_SEIL)
seil.raumid = self.world.aktuellerRaum.id
seil.sichtbar = True seil.sichtbar = True
self.world.aktuellerRaum.items[seil.id] = seil self.world.aktuellerRaum.items[seil.id] = seil
schwert = self.world.findItemById(self.world.ITEM_SCHWERT) schwert = self.world.findItemById(self.world.ITEM_SCHWERT)
schwert.sichtbar = True schwert.sichtbar = True
schwert.raumid = self.world.aktuellerRaum.id
self.world.aktuellerRaum.items[schwert.id] = schwert 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.') self.setFehler('Aus der Truhe fallen ein Seil und ein Schwert. Der kleine Schlüssel löst sich auf.')
else: else:
@@ -89,7 +91,7 @@ class ActionModul:
self.rauf() self.rauf()
elif item.id == self.world.ITEM_PLANKE: elif item.id == self.world.ITEM_PLANKE:
if self.isAktuellerRaum(self.world.RAUM_BACH): 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.') self.setFehler('Du legst die Planke über den Bach und es ensteht eine Brücke.')
else: else:
self.setFehler('Das macht hier keinen Sinn.') self.setFehler('Das macht hier keinen Sinn.')
@@ -172,6 +174,7 @@ class ActionModul:
logging.debug(f'untersuche() suche nach Gegenstand: {parsedCommand.gegenstand}') logging.debug(f'untersuche() suche nach Gegenstand: {parsedCommand.gegenstand}')
if parsedCommand.gegenstand == None: if parsedCommand.gegenstand == None:
self.untersucheAktuellenRaum() self.untersucheAktuellenRaum()
return return
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand) item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand)
@@ -201,6 +204,10 @@ class ActionModul:
fisch.sichtbar = True fisch.sichtbar = True
elif item.id == self.world.ITEM_JACKE: elif item.id == self.world.ITEM_JACKE:
self.findeTruhenschluessel() self.findeTruhenschluessel()
elif item.id == self.world.ITEM_FISCH:
self.zeigeItemBeschreibung(item)
item.sichtbar = False
self.ausDemInventar(item)
else: else:
self.zeigeItemBeschreibung(item) self.zeigeItemBeschreibung(item)
@@ -244,7 +251,7 @@ class ActionModul:
def nimm(self,parsedCommand): def nimm(self,parsedCommand):
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand) item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
logging.debug(f'nimm: item == {item}') logging.debug(f'nimm(): item == {item}')
if item != None: if item != None:
if item.imobil: if item.imobil:
text = self.world.msg[item.pickupmsg] text = self.world.msg[item.pickupmsg]
@@ -261,21 +268,21 @@ class ActionModul:
aufnehmen = True 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): 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: if item.id == self.world.ITEM_PLANKE:
logging.debug('nehme Planke am Bach') logging.debug('nehme Planke am Bach')
self.world.aktuellerRaum.ausgaenge[self.world.SUED] = '-1' self.world.aktuellerRaum.ausgaenge[self.world.SUED] = '-1'
elif self.isAktuellerRaum(self.world.RAUM_TEICH): elif self.isAktuellerRaum(self.world.RAUM_TEICH):
if item.id == self.world.ITEM_FISCH: if item.id == self.world.ITEM_FISCH:
krug = self.world.findItemImInventarById(self.world.ITEM_KRUG) krug = self.world.findItemImInventarById(self.world.ITEM_KRUG)
if krug != None: if krug != None:
self.setFehler('Du schöpfst mit dem Krug und der Fisch ist drin.') self.setFehler('Du schöpfst mit dem Krug und der Fisch ist drin.')
else: else:
self.setFehler('Der Fisch ist zu glitschig, um ihn mit der Hand zu fangen.') self.setFehler('Der Fisch ist zu glitschig, um ihn mit der Hand zu fangen.')
aufnehmen = False aufnehmen = False
if aufnehmen: if aufnehmen:
self.insInventar(item) self.insInventar(item)

View File

@@ -131,12 +131,13 @@ class World:
for itemid in raum.items: for itemid in raum.items:
item = raum.items[itemid] item = raum.items[itemid]
logging.debug('raum.id=' + raum.id) logging.debug(f'raum.id={raum.id}')
logging.debug('item.raumid=' + item.raumid) logging.debug(f'item.raumid={item.raumid}')
logging.debug('findItemInAktuellerRaum() ' + itemname + '-' + item.name) logging.debug(f'findItemInAktuellerRaum() {itemname} - {item.name}')
if item.raumid == raum.id and item.name.lower() == itemname.lower(): if item.raumid == raum.id and item.name.lower() == itemname.lower():
return item return item
logging.debug(f'Item {itemname} nicht im aktuellen Raum gefunden')
return None return None
def findRaumItemById(self,id): def findRaumItemById(self,id):
@@ -290,6 +291,8 @@ class World:
self.RAUM_TEICH = '10' self.RAUM_TEICH = '10'
self.RAUM_FELD = '11' self.RAUM_FELD = '11'
self.RAUM_KLEINES_FELD = '12' self.RAUM_KLEINES_FELD = '12'
self.RAUM_WIESE = '13'
self.RAUM_BRACHLAND = '14'
# Personen # Personen

View File

@@ -10,11 +10,16 @@
^ ^
| |
V V
Bach Bach<-->Teich
^ ^
| |
V V
Feld Wiese<------->Feld
^ ^
| |
| |
V V
Brachland kleines Feld

View File

@@ -53,7 +53,7 @@
</raum> </raum>
<raum id='8' name='Bach'> <raum id='8' name='Bach'>
<ausgang dir='Nord' nachRaum= '6' /> <ausgang dir='Nord' nachRaum= '6' />
<ausgang dir='Ost' nachRaum= '10' /> <ausgang dir='Sued' nachRaum= '11' />
<beschreibung> <beschreibung>
Du stehst an einem Bach. Du stehst an einem Bach.
@@ -76,11 +76,27 @@
</raum> </raum>
<raum id='12' name='kleines Feld'> <raum id='12' name='kleines Feld'>
<ausgang dir='Nord' nachRaum= '11' /> <ausgang dir='Nord' nachRaum= '11' />
<ausgang dir='West' nachRaum= '13' />
<beschreibung> <beschreibung>
Ein kleineres Feld. Ein kleineres Feld.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='13' name='Wiese'>
<ausgang dir='Ost' nachRaum= '12' />
<ausgang dir='Sued' nachRaum= '14' />
<beschreibung>
Du stehst auf einer Wiese, die nach
</beschreibung>
</raum>
<raum id='14' name='Brachland'>
<ausgang dir='Nord' nachRaum= '13' />
<beschreibung>
Brachland. Hier wächst nicht viel abgesehen von einer einzelnen Bohnenranke.
</beschreibung>
</raum>
</ebene> </ebene>
<commandset> <commandset>
@@ -164,11 +180,12 @@
<item name='Schwert' display='' id='18' raum='-1' imobil='false' adjektiv = '0' msgid='1' visible='false' /> <item name='Schwert' display='' id='18' raum='-1' imobil='false' adjektiv = '0' msgid='1' visible='false' />
<item name='Boxsack' display='' id='19' raum='1' imobil='true' adjektiv = '0' msgid='1' visible='true' /> <item name='Boxsack' display='' id='19' raum='1' imobil='true' adjektiv = '0' msgid='1' visible='true' />
<item name='Maus' display='tote Maus' id='20' raum='12' imobil='false' adjektiv = '0' msgid='1' visible='true' /> <item name='Maus' display='tote Maus' id='20' raum='12' imobil='false' adjektiv = '0' msgid='1' visible='true' />
<item name='Bohnenranke' id='21' display='' raum='14' imobil='true' adjektiv = '0' msgid='8' visible='true' />
</items> </items>
<personen> <personen>
<person name='Fisch' id='2' raum='10' bewegung='0' /> <person name='Fisch' id='2' raum='10' bewegung='0' />
<person name='Geist' id='4' raum='2' bewegung='0' /> <person name='Geist' id='4' raum='2' bewegung='1' />
</personen> </personen>
<messages> <messages>
<pickup text='Das ist zu schwer' id='1' /> <pickup text='Das ist zu schwer' id='1' />
@@ -178,10 +195,11 @@
<pickup text='Die Eingangstür ist nicht zum Mitnehmen gedacht.' id='5' /> <pickup text='Die Eingangstür ist nicht zum Mitnehmen gedacht.' id='5' />
<pickup text='Das hängt viel zu hoch. Zu kommst nicht dran.' id='6' /> <pickup text='Das hängt viel zu hoch. Zu kommst nicht dran.' id='6' />
<pickup text='Kunstdiebstahl? Nö!' id='7' /> <pickup text='Kunstdiebstahl? Nö!' id='7' />
<pickup text='Die ist fest verwurzelt' id='8' />
</messages> </messages>
<bewegungen> <bewegungen>
<bewegung id='0' value='' /> <bewegung id='0' value='' />
<bewegung id='1' value='1,3' /> <bewegung id='1' value='2,5,4,3,1,2' />
</bewegungen> </bewegungen>
<texte> <texte>
<text id='1'> <text id='1'>
@@ -194,29 +212,41 @@
<text id='item-13'> <text id='item-13'>
Der Schlüssel schimmert etwas bläulich. Der Schlüssel schimmert etwas bläulich.
</text> </text>
<text id='item-14'>
Mit mehreren Quersprossen reicht das Gitter bis zum Dach. Es ist ziemlich massiv.
</text>
<text id='item-15'> <text id='item-15'>
Die Planke wirkt stabil genug, dein Gewicht zu tragen. Die Planke wirkt stabil genug, dein Gewicht zu tragen.
</text> </text>
<text id='item-16'> <text id='item-16'>
Der Teich wird vom Bach gespeist.Einige Wassertiere leben darin. Der Teich wird vom Bach gespeist.Einige Wassertiere leben darin.
</text> </text>
<text id='item-17'>
Der magische Fisch sagt: Pflanzen brauchen Wasser und verschwindet.
</text>
<text id='item-19'> <text id='item-19'>
Der Boxsack trägt die Aufschrift: Eigentum von Maddes. Außerdem hat jemand ein großes V draufgemalt. Der Boxsack trägt die Aufschrift: Eigentum von Maddes. Außerdem hat jemand ein großes V draufgemalt.
</text> </text>
<text id='item-20'> <text id='item-20'>
Die ist mausetot. Die ist mausetot.
</text> </text>
<text id='item-21'>
Ein Bohnengewächs der märchenhaften Gattung vigna hansus magicus.
</text>
<text id='hilfe'> <text id='hilfe'>
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 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. 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.
</text> </text>
<text id='geist'> <text id='geist'>
Ich bin der Geist deines Großonkels Henry. Mein ganzes Leben habe ich damit verbracht, das Himmelsgrab der Azteken zu finden, wie zuvor 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. mein Vater.
Leider erfolglos. 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.
</text> </text>
</texte> </texte>
</welt> </welt>