Die Kabine bewegt sich mit dem Boot mit.

Raum Boot2 ist erreichbar.
This commit is contained in:
Olli Graf
2022-06-06 16:53:53 +02:00
parent 9fce43d330
commit 278cb17675
6 changed files with 68 additions and 14 deletions

View File

@@ -25,6 +25,17 @@ class ActionBasics:
self.world.fehler = '' self.world.fehler = ''
def wechsleRaum(self,raum): def wechsleRaum(self,raum):
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 self.world.aktuellerRaum = raum
raum.entdeckt = True raum.entdeckt = True
@@ -42,6 +53,15 @@ class ActionBasics:
logging.debug(f'ins Inventar {item.name}') logging.debug(f'ins Inventar {item.name}')
self.insInventar(item) 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): def moveItemVonInventarNachRaum(self,item, nachRaumId):
del self.world.inventar[item.id] del self.world.inventar[item.id]
logging.debug(f' Item {item.name} nach RaumId {nachRaumId}') logging.debug(f' Item {item.name} nach RaumId {nachRaumId}')

View File

@@ -205,6 +205,10 @@ class ActionModul(ActionBasics):
def leere(self, parsedCommand): def leere(self, parsedCommand):
item = self.world.findItemImInventar(parsedCommand.gegenstand) 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 item.id == self.world.ITEM_KRUG:
if self.isAktuellerRaum(self.world.RAUM_BRACHLAND): if self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
if item.zustand == item.VOLL: if item.zustand == item.VOLL:
@@ -468,11 +472,19 @@ class ActionModul(ActionBasics):
if item == None: if item == None:
self.setFehler('Das gibts hier nicht.') self.setFehler('Das gibts hier nicht.')
return return
logging.debug(f'ItemId: {item.id}')
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): elif self.isItemAndAktRaum(item, self.world.ITEM_BOOT, self.world.RAUM_HAFEN):
boot = self.world.sucheRaum(self.world.RAUM_BOOT) boot = self.world.sucheRaum(self.world.RAUM_BOOT)
self.wechsleRaum(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: else:
self.setFehler('Das gibt\'s hier nicht.') self.setFehler('Das gibt\'s hier nicht.')

View File

@@ -101,6 +101,8 @@ class TestModule:
self.schrittzaehler += 1 self.schrittzaehler += 1
pcmd = self.parseInput('nimm Krug') pcmd = self.parseInput('nimm Krug')
logging.debug(f'Inventar nach nimm Krug {self.world.inventar}')
self.ac.nimm(pcmd) self.ac.nimm(pcmd)
self.schrittzaehler += 1 self.schrittzaehler += 1
pcmd = self.parseInput('öffne Haustür') pcmd = self.parseInput('öffne Haustür')

View File

@@ -348,6 +348,7 @@ class World:
self.objekte = {} self.objekte = {}
self.sortouts = [] self.sortouts = []
self.texte = {} self.texte = {}
self.weg = []
self.aktuellerRaum = None self.aktuellerRaum = None
self.parsedCommand = None self.parsedCommand = None
self.NOEXIT = '-1' self.NOEXIT = '-1'
@@ -388,6 +389,8 @@ class World:
self.ITEM_SCHWIMMWESTE = '30' self.ITEM_SCHWIMMWESTE = '30'
self.ITEM_KABINE = '31' self.ITEM_KABINE = '31'
self.ITEM_BEIBOOT = '32' self.ITEM_BEIBOOT = '32'
self.ITEM_DIAMANT = '33'
self.ITEM_SOCKEL = '34'
# Räume # Räume
@@ -429,6 +432,10 @@ class World:
self.RAUM_WALD = '36' self.RAUM_WALD = '36'
self.RAUM_STATUE = '37' self.RAUM_STATUE = '37'
self.RAUM_KOPF = '38' self.RAUM_KOPF = '38'
self.RAUM_MAUER = '39'
self.RAUM_GRAB = '40'

View File

@@ -164,7 +164,7 @@ def debug_Personen():
logging.debug(f'Id: {person.id} - Name: {person.name}') logging.debug(f'Id: {person.id} - Name: {person.name}')
def debug_Items(): def debug_Items():
logging.debug('liste Items') logging.debug('liste Items im aktuellen Raum')
logging.debug(world.aktuellerRaum.items) logging.debug(world.aktuellerRaum.items)
count = 0 count = 0
for itemid in world.aktuellerRaum.items: for itemid in world.aktuellerRaum.items:

View File

@@ -165,13 +165,14 @@
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='25' name='Boot'> <raum id='25' name='Boot'>
<ausgang dir='Süd' nachRaum= '26' /> <ausgang dir='Sued' nachRaum= '27' />
<ausgang dir='runter' nachRaum='26' />
<beschreibung> <beschreibung>
Du stehst an Deck des Segelboots Du stehst an Deck des Segelboots
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='26' name='Kabine'> <raum id='26' name='Kabine'>
<ausgang dir='Süd' nachRaum= '26' /> <ausgang dir='Rauf' nachRaum= '25' />
<beschreibung> <beschreibung>
In der Kabine ist die Luft etwas abgestanden. Zum Glück steht die Luke offen, um frische Luft hineinzulassen. In der Kabine ist die Luft etwas abgestanden. Zum Glück steht die Luke offen, um frische Luft hineinzulassen.
</beschreibung> </beschreibung>
@@ -185,7 +186,7 @@
<raum id='28' name='Beiboot'> <raum id='28' name='Beiboot'>
<ausgang dir='Ost' nachRaum= '30' /> <ausgang dir='Ost' nachRaum= '30' />
<beschreibung> <beschreibung>
Im Beiboot Mit dem Beiboot kannst an der Insel anlegen.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='30' name='Insel'> <raum id='30' name='Insel'>
@@ -225,29 +226,30 @@
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='36' name='Wald'> <raum id='36' name='Wald'>
<ausgang dir='West' nachRaum= '35' /> <ausgang dir='West' nachRaum= '37' />
<beschreibung> <beschreibung>
Ein alter, dichter Laubwald. Ein alter, dichter Laubwald.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='37' name='Statue'> <raum id='37' name='Statue'>
<ausgang dir='Rauf' nachRaum= '37' /> <ausgang dir='Rauf' nachRaum= '38' />
<ausgang dir='Ost' nachRaum= '38' /> <ausgang dir='Ost' nachRaum= '40' />
<beschreibung> <beschreibung>
Du stehst vor einer etwa 10m hohen Statue Du stehst vor einer etwa 10m hohen Statue
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='37' name='Auf dem Kopf der Statue'> <raum id='38' name='Auf dem Kopf der Statue'>
<ausgang dir='Rauf' nachRaum= '37' />
<beschreibung> <beschreibung>
Nach einer kleinen Kletterpartie stehst du stehst auf dem Kopf der Statue. Nach einer kleinen Kletterpartie stehst du stehst auf dem Kopf der Statue.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='38' name='Mauer'> <raum id='39' name='Mauer'>
<beschreibung> <beschreibung>
Du stehst vor einer Mauer. Du stehst vor einer Mauer.
</beschreibung> </beschreibung>
</raum> </raum>
<raum id='39' name='Grabkammer'> <raum id='40' name='Grabkammer'>
<ausgang dir='Nord' nachRaum= '38' /> <ausgang dir='Nord' nachRaum= '38' />
<beschreibung> <beschreibung>
Das Grab des Azteken. Du bist am Ziel. Das Grab des Azteken. Du bist am Ziel.
@@ -349,9 +351,12 @@
<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='12' 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='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='Schwimmweste' id='30' display='' raum='31' imobil='false' adjektiv = '0' msgid='13' visible='true' />
<item name='Kabine' id='31' display='' raum='25' imobil='false' adjektiv = '0' msgid='11' visible='false' /> <item name='Kabine' id='31' display='' raum='25' imobil='true' adjektiv = '0' msgid='11' visible='true' />
<item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='false' /> <item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='false' />
<item name='Plakat' id='33' display='' raum='24' imobil='false' adjektiv='0' msgid='3' visible='true' />
<item name='Diamant' id='38' display='' raum='38' imobil='false' adjektiv='0' msgid='3' visible='false' />
<item name='Sockel' id='39' display='' raum='39' imobil='false' adjektiv='0' msgid='3' visible='false' />
</items> </items>
<personen> <personen>
@@ -372,6 +377,7 @@
<pickup text='Der scheint wütend zu werden, wenn man ihm am Rüssel zieht.' id='9' /> <pickup text='Der scheint wütend zu werden, wenn man ihm am Rüssel zieht.' id='9' />
<pickup text='Das kannst du nicht tragen.' id='10' /> <pickup text='Das kannst du nicht tragen.' id='10' />
<pickup text='Boote gehören ins Wasser.' id='12' /> <pickup text='Boote gehören ins Wasser.' id='12' />
<pickup text='Die Kabine zu demontieren würde das Boot zerstören.' id='13' />
</messages> </messages>
<bewegungen> <bewegungen>
<bewegung id='0' value='' /> <bewegung id='0' value='' />
@@ -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 Das Segelboot besitzt einen weißen Rumpf und ein schwarzes Dreieckssegel. Am Heck steht keine Name geschrieben, dafür ist eine schwarze Perle
aufgemalt. aufgemalt.
</text> </text>
<text id='item-33'>
---------
| No |
| Homers |
| Club |
----------
</text>
<text id='raum-21'> <text id='raum-21'>
Im Tunnel ist es zu dunkel, um etwas zu sehen. Aber du spürst einen leichten Wind, der von Osten durch den Tunnel weht. Im Tunnel ist es zu dunkel, um etwas zu sehen. Aber du spürst einen leichten Wind, der von Osten durch den Tunnel weht.
</text> </text>