Boot ist erreichbar.

This commit is contained in:
Olli Graf
2022-06-05 11:41:24 +02:00
parent b29774ec31
commit 8870050345
5 changed files with 60 additions and 17 deletions

View File

@@ -37,6 +37,7 @@ class ActionBasics:
def moveItemVonRaumNachInventar(self,item): def moveItemVonRaumNachInventar(self,item):
logging.debug(f'entferne aus aktuellen Raum {item.name}') logging.debug(f'entferne aus aktuellen Raum {item.name}')
if item.id in self.world.aktuellerRaum.items:
del self.world.aktuellerRaum.items[item.id] del self.world.aktuellerRaum.items[item.id]
logging.debug(f'ins Inventar {item.name}') logging.debug(f'ins Inventar {item.name}')
self.insInventar(item) self.insInventar(item)

View File

@@ -44,6 +44,10 @@ class ActionModul(ActionBasics):
def vanishItem(self, item): def vanishItem(self, item):
if item == None:
return
item.sichtbar = False item.sichtbar = False
self.ausDemInventar(item) self.ausDemInventar(item)
@@ -113,6 +117,9 @@ class ActionModul(ActionBasics):
def benutze(self, parsedCommand): def benutze(self, parsedCommand):
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand); item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand);
if item == None:
self.setFehler('Das sehe ich hier nicht.')
return
if item.id ==self.world.ITEM_JACKE: if item.id ==self.world.ITEM_JACKE:
self.setFehler('Also du die Jacke anziehst, findest du einen kleine Schlüssel in der Tasche.') self.setFehler('Also du die Jacke anziehst, findest du einen kleine Schlüssel in der Tasche.')
self.findeTruhenschluessel() self.findeTruhenschluessel()
@@ -455,7 +462,7 @@ class ActionModul(ActionBasics):
else: else:
self.world.printText('hilfe') self.world.printText('hilfe')
def geheNachItem(parsedCommand): def geheNachItem(self,parsedCommand):
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand) item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
if item == None: if item == None:
@@ -463,6 +470,9 @@ class ActionModul(ActionBasics):
return return
if self.isItemAndAktRaum(item, self.world.ITEM_LEITER, self.world.RAUM_ESSZIMMER): if self.isItemAndAktRaum(item, self.world.ITEM_LEITER, self.world.RAUM_ESSZIMMER):
self.rauf() self.rauf()
elif self.isItemAndAktRaum(item, self.world.ITEM_BOOT, self.world.RAUM_HAFEN):
boot = self.world.sucheRaum(self.world.RAUM_BOOT)
self.wechsleRaum(boot)
else: else:
self.setFehler('Das gibt\'s hier nicht.') self.setFehler('Das gibt\'s hier nicht.')

View File

@@ -152,6 +152,8 @@ class World:
def sucheRaum(self,id): def sucheRaum(self,id):
for raumid in self.raumliste: for raumid in self.raumliste:
raum = self.raumliste[raumid] raum = self.raumliste[raumid]
# logging.debug(f'{raumid} - {raum.id}')
if raum.id == id: if raum.id == id:
return raum return raum
return None return None
@@ -381,6 +383,11 @@ class World:
self.ITEM_GATTER = '25' self.ITEM_GATTER = '25'
self.ITEM_SCHACHTEL = '26' self.ITEM_SCHACHTEL = '26'
self.ITEM_KARTE = '27' self.ITEM_KARTE = '27'
self.ITEM_BOOT = '28'
self.ITEM_FACKEL = '29'
self.ITEM_SCHWIMMWESTE = '30'
self.ITEM_KABINE = '31'
self.ITEM_BEIBOOT = '32'
# Räume # Räume
@@ -409,6 +416,10 @@ class World:
self.RAUM_STRAND = '22' self.RAUM_STRAND = '22'
self.RAUM_HAFEN = '23' self.RAUM_HAFEN = '23'
self.RAUM_BAUMHAUS = '24' self.RAUM_BAUMHAUS = '24'
self.RAUM_BOOT = '25'
self.RAUM_KABINE = '26'
self.RAUM_BOOT2 = '27'
self.RAUM_INSEL = '28'

10
map.txt
View File

@@ -39,12 +39,16 @@
| |
| |
V V
Tal<---> Tunnel <--->Hafen Tal<---> Tunnel <--->Hafen<-->Boot
^ ^ \
| | Kabine
| | /
V V /
Baum <--> Baumhaus Boot
^ ^
| |
|
V V
Baum <--> Baumhaus Beiboot<--> Insel

View File

@@ -155,7 +155,7 @@
<raum id='23' name='Hafen'> <raum id='23' name='Hafen'>
<ausgang dir='Ost' nachRaum= '21' /> <ausgang dir='Ost' nachRaum= '21' />
<beschreibung> <beschreibung>
Du stehst auf einem Steg, an dem ein Segelboot angleint liegt. Du stehst auf einem Steg, an dem ein Segelboot angeleint liegt.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='24' name='Baumhaus'> <raum id='24' name='Baumhaus'>
@@ -164,6 +164,24 @@
Das Baumhaus Das Baumhaus
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='25' name='Boot'>
<ausgang dir='Süd' nachRaum= '26' />
<beschreibung>
Du stehst an Deck des Segelboots
</beschreibung>
</raum>
<raum id='26' name='Kabine'>
<ausgang dir='Süd' nachRaum= '26' />
<beschreibung>
In der Kabine ist die Luft etwas abgestanden. Zum Glück steht die Luke offen, um frische Luft hineinzulassen.
</beschreibung>
</raum>
<raum id='27' name='Boot'>
<ausgang dir='Süd' nachRaum= '26' />
<beschreibung>
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
</beschreibung>
</raum>
</ebene> </ebene>
<commandset> <commandset>
@@ -255,11 +273,14 @@
<item name='Bohnenranke' id='21' display='' raum='14' imobil='true' adjektiv = '0' msgid='8' visible='true' /> <item name='Bohnenranke' id='21' display='' raum='14' imobil='true' adjektiv = '0' msgid='8' visible='true' />
<item name='Elefant' id='22' display='' raum='15' imobil='true' adjektiv = '0' msgid='9' visible='true' /> <item name='Elefant' id='22' display='' raum='15' imobil='true' adjektiv = '0' msgid='9' visible='true' />
<item name='Hafen' id='23' display='' raum='21' imobil='true' adjektiv = '0' msgid='10' visible='true' /> <item name='Hafen' id='23' display='' raum='21' imobil='true' adjektiv = '0' msgid='10' visible='true' />
<item name='Segelschiff' id='24' display='' raum='22' imobil='true' adjektiv = '0' msgid='10' visible='true' />
<item name='Gatter' id='25' display='' raum='13' imobil='true' adjektiv = '0' msgid='11' visible='true' /> <item name='Gatter' id='25' display='' raum='13' imobil='true' adjektiv = '0' msgid='11' visible='true' />
<item name='Schachtel' id='26' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' /> <item name='Schachtel' id='26' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' />
<item name='Karte' id='27' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' /> <item name='Karte' id='27' display='' raum='24' imobil='false' adjektiv = '0' msgid='11' visible='false' />
<item name='Boot' id='28' display='' raum='23' imobil='true' adjektiv = '0' msgid='11' visible='true' /> <item name='Boot' id='28' display='' raum='23' imobil='true' adjektiv = '0' msgid='12' visible='true' />
<item name='Fackel' id='29' display='' raum='26' imobil='false' adjektiv = '0' msgid='11' visible='true' />
<item name='Schwimmweste' id='30' display='' raum='26' imobil='false' adjektiv = '0' msgid='11' visible='true' />
<item name='Kabine' id='31' display='' raum='25' imobil='false' adjektiv = '0' msgid='11' visible='false' />
<item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='false' />
</items> </items>
<personen> <personen>
@@ -286,10 +307,6 @@
<bewegung id='1' value='2,5,4,3,1,2' /> <bewegung id='1' value='2,5,4,3,1,2' />
</bewegungen> </bewegungen>
<texte> <texte>
<text id='1'>
Als du die Fackel in den Fackelhalter stellst, kippt der Halter zur Seite. Hinter der Wand hörst du Seilzüge und Zahnräder
anlaufen. Über den verborgenen Mechanismus wird das Gittertor in die Höhe gezogen und der Weg nach Norden ist frei.
</text>
<text id='2'> <text id='2'>
In einer Schreibtischschublade findest du einen Schlüssel. In einer Schreibtischschublade findest du einen Schlüssel.
</text> </text>
@@ -349,7 +366,7 @@
</text> </text>
<text id='hilfe'> <text id='hilfe'>
Das Grab des Azteken ist ein klassisches Textadventure. Das Grab des Azteken ist ein klassisches Textadventure.
Es ist eine Adaption des gleichnamigen Adventures vom C64. Es ist eine Adaption des gleichnamigen Adventures auf dem 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".