Volles Wchstum der Bohnenranke, die Spitze ist erreichbar.
This commit is contained in:
8
ActionBasics.py
Normal file
8
ActionBasics.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
import logging
|
||||||
|
|
||||||
|
class ActionBasics:
|
||||||
|
|
||||||
|
def __init__(self,world):
|
||||||
|
self.world = world
|
||||||
|
|
||||||
|
|
@@ -1,6 +1,9 @@
|
|||||||
import logging
|
# Actionmdul - hier werden die Kommandos ausgeführt und die Spielwelt entsprend aktualisiert.
|
||||||
|
|
||||||
class ActionModul:
|
import logging
|
||||||
|
from ActionBasics import ActionBasics
|
||||||
|
|
||||||
|
class ActionModul(ActionBasics):
|
||||||
|
|
||||||
def isBlank(self,str):
|
def isBlank(self,str):
|
||||||
logging.debug(f'isBlank(): str=*{str}*')
|
logging.debug(f'isBlank(): str=*{str}*')
|
||||||
@@ -10,7 +13,7 @@ class ActionModul:
|
|||||||
|
|
||||||
def __init__(self, world):
|
def __init__(self, world):
|
||||||
|
|
||||||
self.world = world
|
super().__init__(world)
|
||||||
|
|
||||||
def warte(self):
|
def warte(self):
|
||||||
print('Du wartest')
|
print('Du wartest')
|
||||||
@@ -31,10 +34,19 @@ class ActionModul:
|
|||||||
if item != None:
|
if item != None:
|
||||||
if item.id == self.world.ITEM_RANKGITTER:
|
if item.id == self.world.ITEM_RANKGITTER:
|
||||||
self.rauf()
|
self.rauf()
|
||||||
|
elif item.id == self.world.ITEM_BOHNENRANKE:
|
||||||
|
if item.zustand == item.GROSS:
|
||||||
|
self.rauf()
|
||||||
|
else:
|
||||||
|
self.setFehler('zum Klettern ist die Bohnenranke zu klein.')
|
||||||
else:
|
else:
|
||||||
self.setFehler('Das sehe ich hier nicht.')
|
self.setFehler('Das sehe ich hier nicht.')
|
||||||
|
|
||||||
|
|
||||||
|
def vanishItem(self, item):
|
||||||
|
item.sichtbar = False
|
||||||
|
self.ausDemInventar(item)
|
||||||
|
|
||||||
def oeffne(self,parsedCommand):
|
def oeffne(self,parsedCommand):
|
||||||
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand);
|
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand);
|
||||||
|
|
||||||
@@ -46,10 +58,10 @@ class ActionModul:
|
|||||||
logging.debug('öffne Truhe')
|
logging.debug('öffne Truhe')
|
||||||
schluessel = self.world.findItemImInventarById(self.world.ITEM_KLEINER_SCHLUESSEL)
|
schluessel = self.world.findItemImInventarById(self.world.ITEM_KLEINER_SCHLUESSEL)
|
||||||
|
|
||||||
|
self.vanishItem(schluessel)
|
||||||
|
|
||||||
if schluessel != None and item.zustand != item.OFFEN:
|
if schluessel != None and item.zustand != item.OFFEN:
|
||||||
item.zustand = item.OFFEN
|
item.zustand = item.OFFEN
|
||||||
schluessel.sichtbar = False
|
|
||||||
self.ausDemInventar(schluessel)
|
|
||||||
seil = self.world.findItemById(self.world.ITEM_SEIL)
|
seil = self.world.findItemById(self.world.ITEM_SEIL)
|
||||||
seil.raumid = self.world.aktuellerRaum.id
|
seil.raumid = self.world.aktuellerRaum.id
|
||||||
seil.sichtbar = True
|
seil.sichtbar = True
|
||||||
@@ -69,10 +81,9 @@ class ActionModul:
|
|||||||
logging.debug(f'öffne Haustür Schlüssel ist {schluessel}')
|
logging.debug(f'öffne Haustür Schlüssel ist {schluessel}')
|
||||||
if schluessel != None:
|
if schluessel != None:
|
||||||
item.zustand = item.OFFEN
|
item.zustand = item.OFFEN
|
||||||
schluessel.sichtbar = False
|
self.vanishItem(schluessel)
|
||||||
self.setFehler('Die Haustür ist geöffnet,der Haustürschlüssel löst sich auf.')
|
self.setFehler('Die Haustür ist geöffnet,der Haustürschlüssel löst sich auf.')
|
||||||
self.world.aktuellerRaum.ausgaenge[self.world.SUED] = self.world.RAUM_GARTEN
|
self.world.aktuellerRaum.ausgaenge[self.world.SUED] = self.world.RAUM_GARTEN
|
||||||
self.ausDemInventar(schluessel)
|
|
||||||
else:
|
else:
|
||||||
self.setFehler('Die Tür ist verschlossen.')
|
self.setFehler('Die Tür ist verschlossen.')
|
||||||
|
|
||||||
@@ -263,6 +274,15 @@ class ActionModul:
|
|||||||
def fange(self, parsedCommand):
|
def fange(self, parsedCommand):
|
||||||
skip
|
skip
|
||||||
|
|
||||||
|
def wirf(self,parsedCommand):
|
||||||
|
item = self.world.findItemImInventar(parsedCommand.gegenstand)
|
||||||
|
|
||||||
|
if self.isItemAndAktRaum(item, self.world.ITEM_SEIL,self.world.RAUM_BAUM):
|
||||||
|
self.world.printText('seilwurf')
|
||||||
|
self.world.aktuellerRaum.richtungen[self.world.RAUF] = self.world.RAUM_BAUMHAUS
|
||||||
|
self.ausDemInventar(item)
|
||||||
|
|
||||||
|
|
||||||
def klettere(self, parsedCommand):
|
def klettere(self, parsedCommand):
|
||||||
leiter = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
leiter = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
||||||
|
|
||||||
@@ -271,6 +291,13 @@ class ActionModul:
|
|||||||
if self.isAktuellerRaum(self.world.RAUM_ESSZIMMER):
|
if self.isAktuellerRaum(self.world.RAUM_ESSZIMMER):
|
||||||
logging.debug(f'aktuellerRaum ist {self.world.aktuellerRaum.id}')
|
logging.debug(f'aktuellerRaum ist {self.world.aktuellerRaum.id}')
|
||||||
self.rauf()
|
self.rauf()
|
||||||
|
elif self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
|
||||||
|
ranke = self.findItemImInventarOderAktuellerRaum(self.world.ITEM_BOHNENRANKE):
|
||||||
|
|
||||||
|
if ranke.zustand == Gegenstand.GROSS:
|
||||||
|
self.ac.rauf()
|
||||||
|
else:
|
||||||
|
self.setFehler('Die Bohnenranke ist zu klein, um daran hoch zu klettern.')
|
||||||
else:
|
else:
|
||||||
self.setFehler('Eine Leiter sehe ich hier nicht.')
|
self.setFehler('Eine Leiter sehe ich hier nicht.')
|
||||||
|
|
||||||
@@ -278,6 +305,11 @@ class ActionModul:
|
|||||||
logging.debug(f'neu ins Inventar: {item.name}')
|
logging.debug(f'neu ins Inventar: {item.name}')
|
||||||
self.world.inventar[item.id] = item
|
self.world.inventar[item.id] = item
|
||||||
|
|
||||||
|
def moveItemVonRaumNachInventar(self,item):
|
||||||
|
logging.debug(f'moveItemVonRaumNachInventar(): entferne aus aktuellen Raum {item.name}')
|
||||||
|
del self.world.aktuellerRaum.items[item.id]
|
||||||
|
logging.debug(f'moveItemVonRaumNachInventar(): ins Inventar {item.name}')
|
||||||
|
self.insInventar(item)
|
||||||
|
|
||||||
def nimm(self,parsedCommand):
|
def nimm(self,parsedCommand):
|
||||||
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
||||||
@@ -293,8 +325,6 @@ class ActionModul:
|
|||||||
text = self.world.msg[item.pickupmsg]
|
text = self.world.msg[item.pickupmsg]
|
||||||
self.setFehler(text)
|
self.setFehler(text)
|
||||||
else:
|
else:
|
||||||
logging.debug(f'Item {item.name} aus aktuellem Raum entfernen')
|
|
||||||
del self.world.aktuellerRaum.items[item.id]
|
|
||||||
|
|
||||||
aufnehmen = True
|
aufnehmen = True
|
||||||
|
|
||||||
@@ -316,14 +346,20 @@ class ActionModul:
|
|||||||
aufnehmen = False
|
aufnehmen = False
|
||||||
|
|
||||||
if aufnehmen:
|
if aufnehmen:
|
||||||
logging.debug(f'Item {item.name} ins Inventar')
|
self.moveItemVonRaumNachInventar(item)
|
||||||
self.insInventar(item)
|
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
self.setFehler("diesen Gegenstand sehe ich hier nicht.")
|
self.setFehler("diesen Gegenstand sehe ich hier nicht.")
|
||||||
|
|
||||||
|
|
||||||
|
def isItemAndAktRaum(self,item, itemid, raumid):
|
||||||
|
return self.isItem(item, itemid) and self.isAktuellerRaum(raumid)
|
||||||
|
|
||||||
|
def isItem(self, item, itemid):
|
||||||
|
return item.id == itemid
|
||||||
|
|
||||||
def sprich(self,parsedCommand):
|
def sprich(self,parsedCommand):
|
||||||
geist = self.world.findPersonImAktuellenRaum(parsedCommand.gegenstand)
|
geist = self.world.findPersonImAktuellenRaum(parsedCommand.gegenstand)
|
||||||
|
|
||||||
@@ -338,6 +374,17 @@ class ActionModul:
|
|||||||
else:
|
else:
|
||||||
self.world.printText('hilfe')
|
self.world.printText('hilfe')
|
||||||
|
|
||||||
|
def geheNachItem(parsedCommand):
|
||||||
|
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
||||||
|
|
||||||
|
if item == None:
|
||||||
|
self.setFehler('Das gibts hier nicht.')
|
||||||
|
return
|
||||||
|
if self.isItemAndAktRaum(item, self.world.ITEM_LEITER, self.world.RAUM_ESSZIMMER):
|
||||||
|
self.rauf()
|
||||||
|
else:
|
||||||
|
self.setFehler('Das gibt\'s hier nicht.')
|
||||||
|
|
||||||
def gehe(self,parsedCommand):
|
def gehe(self,parsedCommand):
|
||||||
richtung = parsedCommand.gegenstand.lower()
|
richtung = parsedCommand.gegenstand.lower()
|
||||||
logging.debug("gehe nach " + richtung)
|
logging.debug("gehe nach " + richtung)
|
||||||
@@ -346,14 +393,19 @@ class ActionModul:
|
|||||||
self.geheNach(richtung)
|
self.geheNach(richtung)
|
||||||
elif richtung == 'süd':
|
elif richtung == 'süd':
|
||||||
self.geheNach(richtung)
|
self.geheNach(richtung)
|
||||||
if richtung == 'west':
|
elif richtung == 'west':
|
||||||
self.geheNach(richtung)
|
self.geheNach(richtung)
|
||||||
if richtung == 'ost':
|
elif richtung == 'ost':
|
||||||
self.geheNach(richtung)
|
self.geheNach(richtung)
|
||||||
if richtung == 'rauf':
|
elif richtung == 'rauf':
|
||||||
self.rauf()
|
self.rauf()
|
||||||
|
else:
|
||||||
|
self.geheNachItem(parsedCommand)
|
||||||
|
|
||||||
|
|
||||||
|
def wechsleRaum(self,raum):
|
||||||
|
self.world.aktuellerRaum = raum
|
||||||
|
raum.entdeckt = True
|
||||||
def geheNach(self,richtung):
|
def geheNach(self,richtung):
|
||||||
logging.debug(f'geheNach() Richtung {richtung}')
|
logging.debug(f'geheNach() Richtung {richtung}')
|
||||||
raum = self.world.aktuellerRaum
|
raum = self.world.aktuellerRaum
|
||||||
@@ -368,7 +420,7 @@ class ActionModul:
|
|||||||
self.setFehler("In diese Richtung gibt's keine Ausgang!")
|
self.setFehler("In diese Richtung gibt's keine Ausgang!")
|
||||||
|
|
||||||
if raum != None:
|
if raum != None:
|
||||||
self.world.aktuellerRaum = raum
|
self.wechsleRaum(raum)
|
||||||
else:
|
else:
|
||||||
logging.debug('Kein Raum zur AusgangId')
|
logging.debug('Kein Raum zur AusgangId')
|
||||||
self.setFehler("In diese Richtung gibt's keine Ausgang!")
|
self.setFehler("In diese Richtung gibt's keine Ausgang!")
|
||||||
|
@@ -1,3 +1,4 @@
|
|||||||
|
# Testdurchläufe
|
||||||
import logging
|
import logging
|
||||||
import ActionModul
|
import ActionModul
|
||||||
|
|
||||||
@@ -21,53 +22,53 @@ class TestModule:
|
|||||||
|
|
||||||
#Auf den Dachboden
|
#Auf den Dachboden
|
||||||
self.ac.rauf()
|
self.ac.rauf()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
#Zurück ins Wohnzimmer
|
#Zurück ins Wohnzimmer
|
||||||
self.ac.runter()
|
self.ac.runter()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
#In den Flur
|
#In den Flur
|
||||||
self.ac.sued()
|
self.ac.sued()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
# Ins Schlafzimmer
|
# Ins Schlafzimmer
|
||||||
self.ac.west()
|
self.ac.west()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
self.debug(f'aktueller Raum: {self.world.aktuellerRaum.name}')
|
self.debug(f'aktueller Raum: {self.world.aktuellerRaum.name}')
|
||||||
self.debug(f'Ausgänge: {self.world.aktuellerRaum.ausgaenge}')
|
self.debug(f'Ausgänge: {self.world.aktuellerRaum.ausgaenge}')
|
||||||
pcmd = self.parseInput('untersuche Bett')
|
pcmd = self.parseInput('untersuche Bett')
|
||||||
|
|
||||||
|
|
||||||
self.ac.untersuche(pcmd)
|
self.ac.untersuche(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
self.debug(f'Ausgänge: {self.world.aktuellerRaum.ausgaenge}')
|
self.debug(f'Ausgänge: {self.world.aktuellerRaum.ausgaenge}')
|
||||||
# In den Keller
|
# In den Keller
|
||||||
self.ac.runter()
|
self.ac.runter()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
pcmd = self.parseInput('nimm Jacke')
|
pcmd = self.parseInput('nimm Jacke')
|
||||||
|
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
pcmd = self.parseInput('benutze Jacke')
|
pcmd = self.parseInput('benutze Jacke')
|
||||||
|
|
||||||
self.ac.benutze(pcmd)
|
self.ac.benutze(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
pcmd = self.parseInput('öffne Truhe')
|
pcmd = self.parseInput('öffne Truhe')
|
||||||
|
|
||||||
self.ac.oeffne(pcmd)
|
self.ac.oeffne(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
pcmd = self.parseInput('nimm Schwert')
|
pcmd = self.parseInput('nimm Schwert')
|
||||||
|
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
pcmd = self.parseInput('nimm Seil')
|
pcmd = self.parseInput('nimm Seil')
|
||||||
|
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
self.world.schrittzaehler = self.schrittzaehler
|
self.world.schrittzaehler = self.schrittzaehler
|
||||||
@@ -78,60 +79,91 @@ class TestModule:
|
|||||||
|
|
||||||
#Rauf ins Schlafzimmer
|
#Rauf ins Schlafzimmer
|
||||||
self.ac.rauf()
|
self.ac.rauf()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
pcmd = self.parseInput('untersuche Nachtschrank')
|
pcmd = self.parseInput('untersuche Nachtschrank')
|
||||||
|
|
||||||
self.ac.untersuche(pcmd)
|
self.ac.untersuche(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
pcmd = self.parseInput('nimm Haustürschlüssel')
|
pcmd = self.parseInput('nimm Haustürschlüssel')
|
||||||
|
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
#In den Flur
|
#In den Flur
|
||||||
self.ac.ost()
|
self.ac.ost()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
pcmd = self.parseInput('untersuche Pflanze')
|
pcmd = self.parseInput('untersuche Pflanze')
|
||||||
|
|
||||||
self.ac.untersuche(pcmd)
|
self.ac.untersuche(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
pcmd = self.parseInput('nimm Krug')
|
pcmd = self.parseInput('nimm Krug')
|
||||||
|
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
pcmd = self.parseInput('öffne Haustür')
|
pcmd = self.parseInput('öffne Haustür')
|
||||||
|
|
||||||
self.ac.oeffne(pcmd)
|
self.ac.oeffne(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
# nach draussen
|
# nach draussen
|
||||||
self.ac.sued()
|
self.ac.sued()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
# aufs Dach
|
# aufs Dach
|
||||||
self.ac.rauf()
|
self.ac.rauf()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
pcmd = self.parseInput('nimm Planke')
|
pcmd = self.parseInput('nimm Planke')
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
#Wieder runter
|
#Wieder runter
|
||||||
self.ac.runter()
|
self.ac.runter()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
#Zum Bach
|
#Zum Bach
|
||||||
self.ac.sued()
|
self.ac.sued()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
pcmd = self.parseInput('verliere Planke')
|
pcmd = self.parseInput('verliere Planke')
|
||||||
self.ac.verliere(pcmd)
|
self.ac.verliere(pcmd)
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
#Zum Teich
|
#Zum Teich
|
||||||
self.ac.ost()
|
self.ac.ost()
|
||||||
self.schrittzaehler = self.schrittzaehler +1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
self.world.schrittzaehler = self.schrittzaehler
|
||||||
|
|
||||||
|
def testRanke(self):
|
||||||
|
self.testTeich()
|
||||||
|
|
||||||
|
pcmd = self.parseInput('nimm Fisch')
|
||||||
|
self.ac.nimm(pcmd)
|
||||||
|
|
||||||
|
# zum Bach
|
||||||
|
self.ac.west()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
|
#Aufs Feld
|
||||||
|
self.ac.sued()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
|
# Auf die Wiese
|
||||||
|
self.ac.west()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
|
# Aufs Brachland
|
||||||
|
self.ac.sued()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
pcmd = self.parseInput('leere Krug')
|
||||||
|
self.ac.leere(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
self.world.schrittzaehler = self.schrittzaehler
|
self.world.schrittzaehler = self.schrittzaehler
|
||||||
|
|
||||||
|
38
World.py
38
World.py
@@ -1,3 +1,6 @@
|
|||||||
|
# Hier wird die Spielwelt verwaltet.
|
||||||
|
# Auch die Terminalausgabe passiert hier.
|
||||||
|
|
||||||
import WorldParser
|
import WorldParser
|
||||||
import ParsedCommand
|
import ParsedCommand
|
||||||
import ActionModul
|
import ActionModul
|
||||||
@@ -45,7 +48,12 @@ class World:
|
|||||||
item = self.inventar[itemid]
|
item = self.inventar[itemid]
|
||||||
labels.append(item.name)
|
labels.append(item.name)
|
||||||
|
|
||||||
return labels
|
return labels
|
||||||
|
|
||||||
|
def fortschritt(self):
|
||||||
|
anz_raeume, anz_entdeckt = self.zaehleRaeume()
|
||||||
|
return round((anz_entdeckt/anz_raeume) *100,2)
|
||||||
|
|
||||||
def printRaum(self):
|
def printRaum(self):
|
||||||
raum = self.aktuellerRaum
|
raum = self.aktuellerRaum
|
||||||
self.clearScreen()
|
self.clearScreen()
|
||||||
@@ -78,7 +86,9 @@ class World:
|
|||||||
|
|
||||||
richtungen =''
|
richtungen =''
|
||||||
ixri = 0
|
ixri = 0
|
||||||
self.stdscr.addstr(6,85,f'Schritte: {self.schrittzaehler}')
|
anz_raeume, anz_entdeckt = self.zaehleRaeume()
|
||||||
|
progress = (anz_entdeckt/anz_raeume) *100
|
||||||
|
self.stdscr.addstr(6,85,f'Schritte: {self.schrittzaehler}, Räume:{anz_entdeckt}/{anz_raeume}, Fortschritt: {self.fortschritt()}%')
|
||||||
win = curses.newwin(7,35,7,85)
|
win = curses.newwin(7,35,7,85)
|
||||||
win.box()
|
win.box()
|
||||||
win.addstr('Ausgänge:')
|
win.addstr('Ausgänge:')
|
||||||
@@ -219,6 +229,27 @@ class World:
|
|||||||
|
|
||||||
return parsedCommand
|
return parsedCommand
|
||||||
|
|
||||||
|
def zaehleEntdeckteRaeume(self):
|
||||||
|
count = 0
|
||||||
|
for raumid in self.raumliste:
|
||||||
|
raum = self.raumliste[raumid]
|
||||||
|
if raum .entdeckt:
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
return count
|
||||||
|
|
||||||
|
def zaehleRaeume(self):
|
||||||
|
count = 0
|
||||||
|
entdeckt = 0
|
||||||
|
for raumid in self.raumliste:
|
||||||
|
raum = self.raumliste[raumid]
|
||||||
|
if raum .entdeckt:
|
||||||
|
entdeckt += 1
|
||||||
|
count += 1
|
||||||
|
|
||||||
|
return count, entdeckt
|
||||||
|
|
||||||
|
|
||||||
def debug_Items(self):
|
def debug_Items(self):
|
||||||
logging.debug('liste Items')
|
logging.debug('liste Items')
|
||||||
logging.debug(self.gegenstaende)
|
logging.debug(self.gegenstaende)
|
||||||
@@ -275,6 +306,8 @@ class World:
|
|||||||
self.ITEM_BOXSACK = '19'
|
self.ITEM_BOXSACK = '19'
|
||||||
self.ITEM_MAUS = '20'
|
self.ITEM_MAUS = '20'
|
||||||
self.ITEM_BOHNENRANKE = '21'
|
self.ITEM_BOHNENRANKE = '21'
|
||||||
|
self.ITEM_ELEFANT = '22'
|
||||||
|
self.ITEM_HAFEN = '23'
|
||||||
|
|
||||||
# Räume
|
# Räume
|
||||||
|
|
||||||
@@ -302,6 +335,7 @@ class World:
|
|||||||
self.RAUM_BAUMHAUS = '23'
|
self.RAUM_BAUMHAUS = '23'
|
||||||
self.RAUM_TUNNEL = '20'
|
self.RAUM_TUNNEL = '20'
|
||||||
self.RAUM_STRAND = '21'
|
self.RAUM_STRAND = '21'
|
||||||
|
self.RAUM_HAFEN = '22'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@ class Raum(SuperNode):
|
|||||||
self.personen = {}
|
self.personen = {}
|
||||||
self.beschreibung=beschreibung
|
self.beschreibung=beschreibung
|
||||||
self.pickupmsg = ''
|
self.pickupmsg = ''
|
||||||
|
self.entdeckt = False
|
||||||
self.ausgaenge = {
|
self.ausgaenge = {
|
||||||
'0': '-1', # Nord
|
'0': '-1', # Nord
|
||||||
'1': '-1', # West
|
'1': '-1', # West
|
||||||
|
Binary file not shown.
4
tomb.py
4
tomb.py
@@ -1,4 +1,6 @@
|
|||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
|
# Hauptprogramm - Eingabeschleife und Dispatching
|
||||||
|
|
||||||
import World
|
import World
|
||||||
import ActionModul
|
import ActionModul
|
||||||
import TestModule
|
import TestModule
|
||||||
@@ -116,6 +118,8 @@ def inputLoop(stdscr):
|
|||||||
testmodul.testOeffneTruhe()
|
testmodul.testOeffneTruhe()
|
||||||
elif debugcommand[1] == 'teich':
|
elif debugcommand[1] == 'teich':
|
||||||
testmodul.testTeich()
|
testmodul.testTeich()
|
||||||
|
elif debugcommand[1] == 'ranke':
|
||||||
|
testmodul.testRanke()
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
19
world.xml
19
world.xml
@@ -67,8 +67,9 @@
|
|||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='11' name='Feld'>
|
<raum id='11' name='Feld'>
|
||||||
<ausgang dir='West' nachRaum= '13' />
|
<ausgang dir='Nord' nachRaum= '8' />
|
||||||
<ausgang dir='Sued' nachRaum= '12' />
|
<ausgang dir='Sued' nachRaum= '12' />
|
||||||
|
<ausgang dir='West' nachRaum= '13' />
|
||||||
|
|
||||||
<beschreibung>
|
<beschreibung>
|
||||||
Ein Feld.
|
Ein Feld.
|
||||||
@@ -150,6 +151,13 @@
|
|||||||
Du stehst am Strand eines großen Sees. In südlicher Richtung scheint ein Hafen zu sein.
|
Du stehst am Strand eines großen Sees. In südlicher Richtung scheint ein Hafen zu sein.
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
|
<raum id='22' name='Hafen'>
|
||||||
|
<ausgang dir='Nord' nachRaum= '21' />
|
||||||
|
<ausgang dir='Sued' nachRaum= '22' />
|
||||||
|
<beschreibung>
|
||||||
|
Im Hafen liegt ein Segelschiff angeleint.
|
||||||
|
</beschreibung>
|
||||||
|
</raum>
|
||||||
</ebene>
|
</ebene>
|
||||||
|
|
||||||
<commandset>
|
<commandset>
|
||||||
@@ -190,7 +198,8 @@
|
|||||||
<command name='sprich' id='34' key='25' />
|
<command name='sprich' id='34' key='25' />
|
||||||
<command name='leere' id='35' key='26' />
|
<command name='leere' id='35' key='26' />
|
||||||
<command name='fuelle' id='36' key='27' />
|
<command name='fuelle' id='36' key='27' />
|
||||||
<command name='wirf' id='37' key='28' />
|
<command name='fülle' id='37' key='27' />
|
||||||
|
<command name='wirf' id='38' key='28' />
|
||||||
|
|
||||||
|
|
||||||
</commandset>
|
</commandset>
|
||||||
@@ -238,6 +247,8 @@
|
|||||||
<item name='Maus' display='tote Maus' id='20' raum='12' imobil='false' adjektiv = '0' msgid='1' visible='true' />
|
<item name='Maus' display='tote Maus' id='20' raum='12' imobil='false' adjektiv = '0' msgid='1' visible='true' />
|
||||||
<item name='Bohnenranke' id='21' display='' raum='14' imobil='true' adjektiv = '0' msgid='8' visible='true' />
|
<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='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' />
|
||||||
|
|
||||||
</items>
|
</items>
|
||||||
<personen>
|
<personen>
|
||||||
@@ -254,6 +265,7 @@
|
|||||||
<pickup text='Kunstdiebstahl? Nö!' id='7' />
|
<pickup text='Kunstdiebstahl? Nö!' id='7' />
|
||||||
<pickup text='Die ist fest verwurzelt' id='8' />
|
<pickup text='Die ist fest verwurzelt' id='8' />
|
||||||
<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' />
|
||||||
</messages>
|
</messages>
|
||||||
<bewegungen>
|
<bewegungen>
|
||||||
<bewegung id='0' value='' />
|
<bewegung id='0' value='' />
|
||||||
@@ -318,5 +330,8 @@
|
|||||||
Jetzt musst du dich auf die Suche machen, so dass ich endlich meinen Frieden finden kann.
|
Jetzt musst du dich auf die Suche machen, so dass ich endlich meinen Frieden finden kann.
|
||||||
Suche das Grab im Wolkenreich.Öffne es und ich bin erlöst.
|
Suche das Grab im Wolkenreich.Öffne es und ich bin erlöst.
|
||||||
</text>
|
</text>
|
||||||
|
<text id='seilwurf'>
|
||||||
|
Du wirfst das Seil Richtung Baumkrone. Dort verfängt es sich so fest, dass du daran klettern kannst.
|
||||||
|
</text>
|
||||||
</texte>
|
</texte>
|
||||||
</welt>
|
</welt>
|
||||||
|
Reference in New Issue
Block a user