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):
logging.debug(f'entferne aus aktuellen Raum {item.name}')
if item.id in self.world.aktuellerRaum.items:
del self.world.aktuellerRaum.items[item.id]
logging.debug(f'ins Inventar {item.name}')
self.insInventar(item)

View File

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

View File

@@ -152,6 +152,8 @@ class World:
def sucheRaum(self,id):
for raumid in self.raumliste:
raum = self.raumliste[raumid]
# logging.debug(f'{raumid} - {raum.id}')
if raum.id == id:
return raum
return None
@@ -381,6 +383,11 @@ class World:
self.ITEM_GATTER = '25'
self.ITEM_SCHACHTEL = '26'
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
@@ -409,6 +416,10 @@ class World:
self.RAUM_STRAND = '22'
self.RAUM_HAFEN = '23'
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
Tal<---> Tunnel <--->Hafen
Tal<---> Tunnel <--->Hafen<-->Boot
^ ^ \
| | Kabine
| | /
V V /
Baum <--> Baumhaus Boot
^
|
|
V
Baum <--> Baumhaus
Beiboot<--> Insel

View File

@@ -155,7 +155,7 @@
<raum id='23' name='Hafen'>
<ausgang dir='Ost' nachRaum= '21' />
<beschreibung>
Du stehst auf einem Steg, an dem ein Segelboot angleint liegt.
Du stehst auf einem Steg, an dem ein Segelboot angeleint liegt.
</beschreibung>
</raum>
<raum id='24' name='Baumhaus'>
@@ -164,6 +164,24 @@
Das Baumhaus
</beschreibung>
</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>
<commandset>
@@ -255,11 +273,14 @@
<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='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='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='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>
<personen>
@@ -286,10 +307,6 @@
<bewegung id='1' value='2,5,4,3,1,2' />
</bewegungen>
<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'>
In einer Schreibtischschublade findest du einen Schlüssel.
</text>
@@ -349,7 +366,7 @@
</text>
<text id='hilfe'>
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
auch ganze Sätze wie "nimm das Schwert" verstanden werden.
Die Liste der möglichen Befehle erhälst du mit "hilfe befehle".