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