diff --git a/ActionBasics.py b/ActionBasics.py
index 391c5e5..0e0e419 100644
--- a/ActionBasics.py
+++ b/ActionBasics.py
@@ -37,7 +37,8 @@ class ActionBasics:
def moveItemVonRaumNachInventar(self,item):
logging.debug(f'entferne aus aktuellen Raum {item.name}')
- del self.world.aktuellerRaum.items[item.id]
+ 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)
diff --git a/ActionModul.py b/ActionModul.py
index af8ea89..adb3414 100644
--- a/ActionModul.py
+++ b/ActionModul.py
@@ -44,6 +44,10 @@ class ActionModul(ActionBasics):
def vanishItem(self, item):
+
+ if item == None:
+ return
+
item.sichtbar = False
self.ausDemInventar(item)
@@ -112,7 +116,10 @@ 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.')
diff --git a/World.py b/World.py
index dda09ce..55bf597 100644
--- a/World.py
+++ b/World.py
@@ -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'
diff --git a/map.txt b/map.txt
index 7e1460d..8e0348c 100644
--- a/map.txt
+++ b/map.txt
@@ -39,12 +39,16 @@
|
|
V
- Tal<---> Tunnel <--->Hafen
- ^
- |
- |
- V
- Baum <--> Baumhaus
+ Tal<---> Tunnel <--->Hafen<-->Boot
+ ^ ^ \
+ | | Kabine
+ | | /
+ V V /
+ Baum <--> Baumhaus Boot
+ ^
+ |
+ V
+ Beiboot<--> Insel
diff --git a/world.xml b/world.xml
index 82a763a..4490036 100644
--- a/world.xml
+++ b/world.xml
@@ -155,7 +155,7 @@
- Du stehst auf einem Steg, an dem ein Segelboot angleint liegt.
+ Du stehst auf einem Steg, an dem ein Segelboot angeleint liegt.
@@ -164,6 +164,24 @@
Das Baumhaus
+
+
+
+ Du stehst an Deck des Segelboots
+
+
+
+
+
+ In der Kabine ist die Luft etwas abgestanden. Zum Glück steht die Luke offen, um frische Luft hineinzulassen.
+
+
+
+
+
+ Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
+
+
@@ -255,11 +273,14 @@
-
-
+
+
+
+
+
@@ -286,10 +307,6 @@
-
- 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.
-
In einer Schreibtischschublade findest du einen Schlüssel.
@@ -349,7 +366,7 @@
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".