diff --git a/ActionBasics.py b/ActionBasics.py
index 0e0e419..2e2bb8d 100644
--- a/ActionBasics.py
+++ b/ActionBasics.py
@@ -25,8 +25,19 @@ class ActionBasics:
self.world.fehler = ''
def wechsleRaum(self,raum):
- self.world.aktuellerRaum = raum
- raum.entdeckt = True
+ logging.debug(f'wechsle in RaumId: {raum.id}')
+ if raum.id == self.world.RAUM_BOOT2:
+ logging.debug('wechsle nach Raum Boot2')
+ kabine = self.world.findItemById(self.world.ITEM_KABINE)
+ raumkabine = self.world.findRaumById(self.world.RAUM_KABINE)
+ boot2 = self.world.findRaumById(self.world.RAUM_BOOT2)
+
+ raumkabine.ausgaenge[self.world.RAUF] = boot2.id
+ self.moveItemVonRaumNachRaum(kabine,boot2)
+
+ self.world.weg.append(raum.name)
+ self.world.aktuellerRaum = raum
+ raum.entdeckt = True
def liegtItemInRaum(self,itemid, raum):
return itemid in raum.items
@@ -42,6 +53,15 @@ class ActionBasics:
logging.debug(f'ins Inventar {item.name}')
self.insInventar(item)
+ def moveItemVonRaumNachRaum(self,item, raum):
+ if item.id in self.world.aktuellerRaum.items:
+ logging.debug(f'entferne {item.name} aus Raum {self.world.aktuellerRaum.id}')
+ del self.world.aktuellerRaum.items[item.id]
+ logging.debug(f'bewege {item.name} nach {raum.id}')
+ item.raumid = raum.id
+ raum.items[item.id] = item
+
+
def moveItemVonInventarNachRaum(self,item, nachRaumId):
del self.world.inventar[item.id]
logging.debug(f' Item {item.name} nach RaumId {nachRaumId}')
diff --git a/ActionModul.py b/ActionModul.py
index adb3414..45dd3cf 100644
--- a/ActionModul.py
+++ b/ActionModul.py
@@ -205,6 +205,10 @@ class ActionModul(ActionBasics):
def leere(self, parsedCommand):
item = self.world.findItemImInventar(parsedCommand.gegenstand)
+ if item == None:
+ self.setFehler('Das trägst du nicht bei dir.')
+ return
+
if item.id == self.world.ITEM_KRUG:
if self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
if item.zustand == item.VOLL:
@@ -468,11 +472,19 @@ class ActionModul(ActionBasics):
if item == None:
self.setFehler('Das gibts hier nicht.')
return
+ logging.debug(f'ItemId: {item.id}')
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)
+ elif self.isItem(item,self.world.ITEM_KABINE):
+ logging.debug(f'gehe in Kabine')
+ raumid = self.world.aktuellerRaum.id
+ kabine = self.world.sucheRaum(self.world.RAUM_KABINE)
+ kabine.ausgaenge[self.world.RAUF] = raumid
+ self.wechsleRaum(kabine)
+
else:
self.setFehler('Das gibt\'s hier nicht.')
diff --git a/TestModule.py b/TestModule.py
index 87b916e..6d5fc20 100644
--- a/TestModule.py
+++ b/TestModule.py
@@ -101,6 +101,8 @@ class TestModule:
self.schrittzaehler += 1
pcmd = self.parseInput('nimm Krug')
+ logging.debug(f'Inventar nach nimm Krug {self.world.inventar}')
+
self.ac.nimm(pcmd)
self.schrittzaehler += 1
pcmd = self.parseInput('öffne Haustür')
diff --git a/World.py b/World.py
index 52f8c22..1b960c7 100644
--- a/World.py
+++ b/World.py
@@ -348,6 +348,7 @@ class World:
self.objekte = {}
self.sortouts = []
self.texte = {}
+ self.weg = []
self.aktuellerRaum = None
self.parsedCommand = None
self.NOEXIT = '-1'
@@ -388,6 +389,8 @@ class World:
self.ITEM_SCHWIMMWESTE = '30'
self.ITEM_KABINE = '31'
self.ITEM_BEIBOOT = '32'
+ self.ITEM_DIAMANT = '33'
+ self.ITEM_SOCKEL = '34'
# Räume
@@ -429,6 +432,10 @@ class World:
self.RAUM_WALD = '36'
self.RAUM_STATUE = '37'
self.RAUM_KOPF = '38'
+ self.RAUM_MAUER = '39'
+ self.RAUM_GRAB = '40'
+
+
diff --git a/tomb.py b/tomb.py
index 835578f..50cb996 100755
--- a/tomb.py
+++ b/tomb.py
@@ -164,7 +164,7 @@ def debug_Personen():
logging.debug(f'Id: {person.id} - Name: {person.name}')
def debug_Items():
- logging.debug('liste Items')
+ logging.debug('liste Items im aktuellen Raum')
logging.debug(world.aktuellerRaum.items)
count = 0
for itemid in world.aktuellerRaum.items:
diff --git a/world.xml b/world.xml
index 1501494..d2ec1f4 100644
--- a/world.xml
+++ b/world.xml
@@ -165,13 +165,14 @@
-
+
+
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.
@@ -185,7 +186,7 @@
- Im Beiboot
+ Mit dem Beiboot kannst an der Insel anlegen.
@@ -225,29 +226,30 @@
-
+
Ein alter, dichter Laubwald.
-
-
+
+
Du stehst vor einer etwa 10m hohen Statue
-
+
+
Nach einer kleinen Kletterpartie stehst du stehst auf dem Kopf der Statue.
-
+
Du stehst vor einer Mauer.
-
+
Das Grab des Azteken. Du bist am Ziel.
@@ -349,9 +351,12 @@
-
-
+
+
+
+
+
@@ -372,6 +377,7 @@
+
@@ -424,6 +430,13 @@
Das Segelboot besitzt einen weißen Rumpf und ein schwarzes Dreieckssegel. Am Heck steht keine Name geschrieben, dafür ist eine schwarze Perle
aufgemalt.
+
+ ---------
+ | No |
+ | Homers |
+ | Club |
+ ----------
+
Im Tunnel ist es zu dunkel, um etwas zu sehen. Aber du spürst einen leichten Wind, der von Osten durch den Tunnel weht.