Loch erreichbar.
Beschreibung abhängig vom Zustand der Fackel
This commit is contained in:
@@ -50,8 +50,8 @@ class ActionBasics:
|
|||||||
else:
|
else:
|
||||||
beiboot.ausgaenge[self.world.RAUF] = '-1'
|
beiboot.ausgaenge[self.world.RAUF] = '-1'
|
||||||
logging.debug(f'Ausgang RAUF im Beiboot ist {beiboot.ausgaenge[self.world.RAUF]}')
|
logging.debug(f'Ausgang RAUF im Beiboot ist {beiboot.ausgaenge[self.world.RAUF]}')
|
||||||
beiboot.ausgaenge[self.world.OST] = -1
|
beiboot.ausgaenge[self.world.OST] = '-1'
|
||||||
if raum.id == self.world.RAUM_BOOT2:
|
if self.world.weg[-1] == self.world.RAUM_BOOT2:
|
||||||
beiboot.ausgaenge[self.world.OST] = self.world.RAUM_INSEL
|
beiboot.ausgaenge[self.world.OST] = self.world.RAUM_INSEL
|
||||||
|
|
||||||
|
|
||||||
|
@@ -477,6 +477,8 @@ class ActionModul(ActionBasics):
|
|||||||
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.isItemAndAktRaum(item, self.world.ITEM_LOCH, self.world.RAUM_INSEL):
|
||||||
|
self.runter()
|
||||||
elif self.isItem(item,self.world.ITEM_KABINE):
|
elif self.isItem(item,self.world.ITEM_KABINE):
|
||||||
logging.debug(f'gehe in Kabine')
|
logging.debug(f'gehe in Kabine')
|
||||||
raumid = self.world.aktuellerRaum.id
|
raumid = self.world.aktuellerRaum.id
|
||||||
@@ -525,6 +527,40 @@ class ActionModul(ActionBasics):
|
|||||||
del self.world.aktuellerRaum.personen[zwerg.id]
|
del self.world.aktuellerRaum.personen[zwerg.id]
|
||||||
self.macheItemSichtbar(schachtel)
|
self.macheItemSichtbar(schachtel)
|
||||||
|
|
||||||
|
def toggleFackel(self,item):
|
||||||
|
weste = self.world.findItemById(self.world.ITEM_FACKEL)
|
||||||
|
|
||||||
|
if item.zustand == item.GELOESCHT:
|
||||||
|
|
||||||
|
item.zustand = item.ENTZUENDED
|
||||||
|
weste.sichtbar = True
|
||||||
|
self.setFehler('Die Fackel brennt jetzt.')
|
||||||
|
else:
|
||||||
|
item.zustand = item.GELOESCHT
|
||||||
|
weste.sichtbar = False
|
||||||
|
self.setFehler('Du löscht die Fackel.')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def entzuende(self,parsedCommand):
|
||||||
|
item = self.world.findItemImInventar(parsedCommand.gegenstand)
|
||||||
|
|
||||||
|
if item == None:
|
||||||
|
self.setFehler('Das besitzt du nicht.')
|
||||||
|
|
||||||
|
if self.isItem(item, self.world.ITEM_FACKEL):
|
||||||
|
self.toggleFackel(item)
|
||||||
|
|
||||||
|
def loesche(self,parsedCommand):
|
||||||
|
item = self.world.findItemImInventar(parsedCommand.gegenstand)
|
||||||
|
|
||||||
|
if item == None:
|
||||||
|
self.setFehler('Das besitzt du nicht.')
|
||||||
|
|
||||||
|
if self.isItem(item, self.world.ITEM_FACKEL):
|
||||||
|
self.toggleFackel(item)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def geheNach(self,richtung):
|
def geheNach(self,richtung):
|
||||||
logging.debug(f'Richtung {richtung}')
|
logging.debug(f'Richtung {richtung}')
|
||||||
|
@@ -324,20 +324,37 @@ class TestModule:
|
|||||||
self.ac.ost()
|
self.ac.ost()
|
||||||
self.schrittzaehler += 1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
def testInsel(self):
|
||||||
|
self.testHafen()
|
||||||
|
|
||||||
|
#Boot
|
||||||
|
pcmd = self.parseInput('gehe Boot')
|
||||||
|
self.ac.gehe(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
#Kabine
|
||||||
|
pcmd = self.parseInput('gehe Kabine')
|
||||||
|
self.ac.gehe(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
pcmd = self.parseInput('nimm Fackel')
|
||||||
|
self.ac.nimm(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
#Boot
|
||||||
|
self.ac.rauf()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
# vor Insel
|
||||||
|
self.ac.sued()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
#Beiboot
|
||||||
|
pcmd = self.parseInput('gehe Beiboot')
|
||||||
|
self.ac.gehe(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
# Insel
|
||||||
|
|
||||||
|
self.ac.ost()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
17
World.py
17
World.py
@@ -103,13 +103,24 @@ class World:
|
|||||||
|
|
||||||
def printRaum(self):
|
def printRaum(self):
|
||||||
raum = self.aktuellerRaum
|
raum = self.aktuellerRaum
|
||||||
|
beschreibung = self.aktuellerRaum.beschreibung
|
||||||
|
|
||||||
|
if self.aktuellerRaum.id == self.RAUM_LOCH:
|
||||||
|
fackel = self.findItemImInventarById(self.ITEM_FACKEL)
|
||||||
|
logging.debug(f'fackel={fackel}')
|
||||||
|
if fackel != None:
|
||||||
|
textid=f'raum-{self.RAUM_LOCH}-{fackel.zustand}'
|
||||||
|
beschreibung = self.texte[textid].name
|
||||||
|
|
||||||
self.clearScreen()
|
self.clearScreen()
|
||||||
|
|
||||||
if self.fehler != None and self.fehler != '':
|
if self.fehler != None and self.fehler != '':
|
||||||
self.stdscr.addstr(self.fehler,curses.color_pair(1))
|
self.stdscr.addstr(self.fehler,curses.color_pair(1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
self.stdscr.addstr(3,0,'aktueller Raum: ' + raum.name,curses.color_pair(3))
|
self.stdscr.addstr(3,0,'aktueller Raum: ' + raum.name,curses.color_pair(3))
|
||||||
self.stdscr.addstr(4,0,raum.beschreibung)
|
self.stdscr.addstr(4,0,beschreibung)
|
||||||
self.stdscr.addstr(7,0,'Gegenstände: ' + str(raum.labelsGegenstaende()),curses.color_pair(2))
|
self.stdscr.addstr(7,0,'Gegenstände: ' + str(raum.labelsGegenstaende()),curses.color_pair(2))
|
||||||
self.stdscr.addstr(8,0,'Inventar: '+ str(self.labelsInventar()), curses.color_pair(2))
|
self.stdscr.addstr(8,0,'Inventar: '+ str(self.labelsInventar()), curses.color_pair(2))
|
||||||
self.stdscr.addstr(9,0,'Personen: ' + str(raum.labelsPersonen()),curses.color_pair(2))
|
self.stdscr.addstr(9,0,'Personen: ' + str(raum.labelsPersonen()),curses.color_pair(2))
|
||||||
@@ -321,6 +332,8 @@ class World:
|
|||||||
|
|
||||||
return count, entdeckt
|
return count, entdeckt
|
||||||
|
|
||||||
|
def findPrevRaumId(self):
|
||||||
|
return self.weg[-1]
|
||||||
|
|
||||||
def debug_Items(self):
|
def debug_Items(self):
|
||||||
logging.debug('liste Items')
|
logging.debug('liste Items')
|
||||||
@@ -392,6 +405,8 @@ class World:
|
|||||||
self.ITEM_BEIBOOT = '32'
|
self.ITEM_BEIBOOT = '32'
|
||||||
self.ITEM_DIAMANT = '33'
|
self.ITEM_DIAMANT = '33'
|
||||||
self.ITEM_SOCKEL = '34'
|
self.ITEM_SOCKEL = '34'
|
||||||
|
self.ITEM_PALME = '40'
|
||||||
|
self.ITEM_LOCH = '41'
|
||||||
|
|
||||||
# Räume
|
# Räume
|
||||||
|
|
||||||
|
@@ -81,6 +81,8 @@ class Gegenstand(SuperNode):
|
|||||||
self.LEER = 0
|
self.LEER = 0
|
||||||
self.VOLL = 1
|
self.VOLL = 1
|
||||||
self.HAENGEND = 0
|
self.HAENGEND = 0
|
||||||
|
self.GELOESCHT = 0
|
||||||
|
self.ENTZUENDED = 1
|
||||||
self.zustand = self.GESCHLOSSEN
|
self.zustand = self.GESCHLOSSEN
|
||||||
|
|
||||||
class Adjektiv(SuperNode):
|
class Adjektiv(SuperNode):
|
||||||
|
22
map.txt
22
map.txt
@@ -34,17 +34,17 @@
|
|||||||
|
|
|
|
||||||
|
|
|
|
||||||
V
|
V
|
||||||
Pfad<--> Pfad Kopf
|
Pfad<--> Pfad Kopf
|
||||||
^ ^
|
^ ^
|
||||||
| |
|
| |
|
||||||
| |
|
| |
|
||||||
V V
|
V V
|
||||||
Tal<---> Tunnel <--->Hafen<-->Boot Statue<-------------->Mauer
|
Tal<---> Tunnel <--->Hafen<-->Boot Statue<-------------->Mauer
|
||||||
^ ^ \ ^ ^
|
^ ^ \ ^ ^
|
||||||
| | Kabine | |
|
| | Kabine | |
|
||||||
Boot2 | | |
|
Boot2 | | |
|
||||||
| | / | |
|
| | / \ | |
|
||||||
V V / V V
|
V V / \ V V
|
||||||
Baum <--> Baumhaus Klippe<-->Strand<--> Wald Grabkammer
|
Baum <--> Baumhaus Klippe<-->Strand<--> Wald Grabkammer
|
||||||
| |
|
| |
|
||||||
| Boot3
|
| Boot3
|
||||||
|
7
tomb.py
7
tomb.py
@@ -70,6 +70,10 @@ def verarbeiteBefehl(parsedCommand):
|
|||||||
actionmodul.wirf(parsedCommand)
|
actionmodul.wirf(parsedCommand)
|
||||||
elif id == '29':
|
elif id == '29':
|
||||||
actionmodul.gib(parsedCommand)
|
actionmodul.gib(parsedCommand)
|
||||||
|
elif id == '30':
|
||||||
|
actionmodul.entzuende(parsedCommand)
|
||||||
|
elif id == '31':
|
||||||
|
actionmodul.loesche(parsedCommand)
|
||||||
elif id == '-1':
|
elif id == '-1':
|
||||||
world.fehler = 'Ich verstehe diesen Befehl nicht'
|
world.fehler = 'Ich verstehe diesen Befehl nicht'
|
||||||
else:
|
else:
|
||||||
@@ -146,6 +150,9 @@ def inputLoop(stdscr):
|
|||||||
|
|
||||||
elif debugcommand[1] == 'hafen':
|
elif debugcommand[1] == 'hafen':
|
||||||
testmodul.testHafen()
|
testmodul.testHafen()
|
||||||
|
elif debugcommand[1] == 'insel':
|
||||||
|
testmodul.testInsel()
|
||||||
|
|
||||||
|
|
||||||
world.fehler = ''
|
world.fehler = ''
|
||||||
|
|
||||||
|
24
world.xml
24
world.xml
@@ -178,7 +178,7 @@
|
|||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='27' name='Boot'>
|
<raum id='27' name='Boot'>
|
||||||
<ausgang dir='Nord' nachRaum= '25' />
|
<ausgang dir='Nord' nachRaum= '33' />
|
||||||
<beschreibung>
|
<beschreibung>
|
||||||
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
|
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
@@ -189,19 +189,21 @@
|
|||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='30' name='Insel'>
|
<raum id='30' name='Insel'>
|
||||||
<ausgang dir='Süd' nachRaum= '26' />
|
<ausgang dir='Ost' nachRaum= '27' />
|
||||||
|
<ausgang dir='Runter' nachRaum= '31' />
|
||||||
|
|
||||||
<beschreibung>
|
<beschreibung>
|
||||||
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
|
Auf der Insel wächst eine einzelne Palme. In Sand hat jemand ein großes Loch gegraben.
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='31' name='Loch'>
|
<raum id='31' name='Loch'>
|
||||||
<ausgang dir='Süd' nachRaum= '26' />
|
<ausgang dir='Süd' nachRaum= '26' />
|
||||||
<beschreibung>
|
<beschreibung>
|
||||||
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
|
Im Loch.
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='32' name='Boot'>
|
<raum id='32' name='Boot'>
|
||||||
<ausgang dir='Süd' nachRaum= '26' />
|
<ausgang dir='Ost' nachRaum= '33' />
|
||||||
<beschreibung>
|
<beschreibung>
|
||||||
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
|
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
@@ -297,6 +299,8 @@
|
|||||||
<command name='fülle' id='37' key='27' />
|
<command name='fülle' id='37' key='27' />
|
||||||
<command name='wirf' id='38' key='28' />
|
<command name='wirf' id='38' key='28' />
|
||||||
<command name='gib' id='39' key='29' />
|
<command name='gib' id='39' key='29' />
|
||||||
|
<command name='entzünde' id='40' key='30' />
|
||||||
|
<command name='lösche' id='41' key='31' />
|
||||||
|
|
||||||
|
|
||||||
</commandset>
|
</commandset>
|
||||||
@@ -350,12 +354,14 @@
|
|||||||
<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='31' imobil='false' adjektiv = '0' msgid='13' visible='true' />
|
<item name='Schwimmweste' id='30' display='' raum='31' imobil='false' adjektiv = '0' msgid='13' visible='false' />
|
||||||
<item name='Kabine' id='31' display='' raum='25' imobil='true' adjektiv = '0' msgid='11' visible='true' />
|
<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='true' />
|
<item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='true' />
|
||||||
<item name='Plakat' id='33' display='' raum='24' imobil='false' adjektiv='0' msgid='3' visible='true' />
|
<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='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' />
|
<item name='Sockel' id='39' display='' raum='39' imobil='false' adjektiv='0' msgid='3' visible='false' />
|
||||||
|
<item name='Palme' id='40' display='' raum='30' imobil='true' adjektiv='0' msgid='8' visible='true' />
|
||||||
|
<item name='Loch' id='41' display='' raum='30' imobil='true' adjektiv='0' msgid='8' visible='true' />
|
||||||
|
|
||||||
</items>
|
</items>
|
||||||
<personen>
|
<personen>
|
||||||
@@ -439,6 +445,12 @@
|
|||||||
<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>
|
||||||
|
<text id='raum-31-0'>
|
||||||
|
In das Loch dringt kein Sonnenlicht, du siehst gar nichts.
|
||||||
|
</text>
|
||||||
|
<text id='raum-31-1'>
|
||||||
|
Im Licht der Fackel erkennst du, dass das Loch sorgfältig gegraben und mit Schiffsplanken abgestützt wurde.
|
||||||
|
</text>
|
||||||
<text id='npc-6'>
|
<text id='npc-6'>
|
||||||
Der Zwerg klappert vor Kälte mit den Zähnen und kann nicht sprechen.
|
Der Zwerg klappert vor Kälte mit den Zähnen und kann nicht sprechen.
|
||||||
</text>
|
</text>
|
||||||
|
Reference in New Issue
Block a user