Fisch, Brachland, Wiese usw.
This commit is contained in:
@@ -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)
|
||||
|
9
World.py
9
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
|
||||
|
||||
|
9
map.txt
9
map.txt
@@ -10,11 +10,16 @@
|
||||
^
|
||||
|
|
||||
V
|
||||
Bach
|
||||
Bach<-->Teich
|
||||
^
|
||||
|
|
||||
V
|
||||
Feld
|
||||
Wiese<------->Feld
|
||||
^ ^
|
||||
| |
|
||||
| |
|
||||
V V
|
||||
Brachland kleines Feld
|
||||
|
||||
|
||||
|
||||
|
42
world.xml
42
world.xml
@@ -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>
|
||||
|
Reference in New Issue
Block a user