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
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,9 +268,9 @@ 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'

View File

@@ -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

View File

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

View File

@@ -53,7 +53,7 @@
</raum>
<raum id='8' name='Bach'>
<ausgang dir='Nord' nachRaum= '6' />
<ausgang dir='Ost' nachRaum= '10' />
<ausgang dir='Sued' nachRaum= '11' />
<beschreibung>
Du stehst an einem Bach.
@@ -76,11 +76,27 @@
</raum>
<raum id='12' name='kleines Feld'>
<ausgang dir='Nord' nachRaum= '11' />
<ausgang dir='West' nachRaum= '13' />
<beschreibung>
Ein kleineres Feld.
</beschreibung>
</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>
<commandset>
@@ -164,11 +180,12 @@
<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='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>
<personen>
<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>
<messages>
<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='Das hängt viel zu hoch. Zu kommst nicht dran.' id='6' />
<pickup text='Kunstdiebstahl? Nö!' id='7' />
<pickup text='Die ist fest verwurzelt' id='8' />
</messages>
<bewegungen>
<bewegung id='0' value='' />
<bewegung id='1' value='1,3' />
<bewegung id='1' value='2,5,4,3,1,2' />
</bewegungen>
<texte>
<text id='1'>
@@ -194,29 +212,41 @@
<text id='item-13'>
Der Schlüssel schimmert etwas bläulich.
</text>
<text id='item-14'>
Mit mehreren Quersprossen reicht das Gitter bis zum Dach. Es ist ziemlich massiv.
</text>
<text id='item-15'>
Die Planke wirkt stabil genug, dein Gewicht zu tragen.
</text>
<text id='item-16'>
Der Teich wird vom Bach gespeist.Einige Wassertiere leben darin.
</text>
<text id='item-17'>
Der magische Fisch sagt: Pflanzen brauchen Wasser und verschwindet.
</text>
<text id='item-19'>
Der Boxsack trägt die Aufschrift: Eigentum von Maddes. Außerdem hat jemand ein großes V draufgemalt.
</text>
<text id='item-20'>
Die ist mausetot.
</text>
<text id='item-21'>
Ein Bohnengewächs der märchenhaften Gattung vigna hansus magicus.
</text>
<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
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 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
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.
</text>
</texte>
</welt>