Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8870050345 | ||
![]() |
b29774ec31 | ||
![]() |
25cc73ccf9 | ||
![]() |
9cfbf2e0aa | ||
![]() |
e004bfc17e |
@@ -9,6 +9,11 @@ class ActionBasics:
|
|||||||
def debug(self, method, text):
|
def debug(self, method, text):
|
||||||
logging.debug(f'ActionBasics: {text}')
|
logging.debug(f'ActionBasics: {text}')
|
||||||
|
|
||||||
|
def ausDemInventar(self,item):
|
||||||
|
del self.world.inventar[item.id]
|
||||||
|
self.world.aktuellerRaum.items[item.id] = item
|
||||||
|
item.raumid = self.world.aktuellerRaum.id
|
||||||
|
|
||||||
def insInventar(self, item):
|
def insInventar(self, item):
|
||||||
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
|
||||||
@@ -19,15 +24,31 @@ class ActionBasics:
|
|||||||
def clearFehler(self):
|
def clearFehler(self):
|
||||||
self.world.fehler = ''
|
self.world.fehler = ''
|
||||||
|
|
||||||
|
def wechsleRaum(self,raum):
|
||||||
|
self.world.aktuellerRaum = raum
|
||||||
|
raum.entdeckt = True
|
||||||
|
|
||||||
|
def liegtItemInRaum(self,itemid, raum):
|
||||||
|
return itemid in raum.items
|
||||||
|
|
||||||
|
def macheItemSichtbar(self, item):
|
||||||
|
logging.debug(f'mache sichtbar {item.name} in Raum {item.raumid}')
|
||||||
|
item.sichtbar = True
|
||||||
|
|
||||||
def moveItemVonRaumNachInventar(self,item):
|
def moveItemVonRaumNachInventar(self,item):
|
||||||
logging.debug(f'entferne aus aktuellen Raum {item.name}')
|
logging.debug(f'entferne aus aktuellen Raum {item.name}')
|
||||||
|
if item.id in self.world.aktuellerRaum.items:
|
||||||
del self.world.aktuellerRaum.items[item.id]
|
del self.world.aktuellerRaum.items[item.id]
|
||||||
logging.debug(f'ins Inventar {item.name}')
|
logging.debug(f'ins Inventar {item.name}')
|
||||||
self.insInventar(item)
|
self.insInventar(item)
|
||||||
|
|
||||||
def moveItemVonInventarNachRaum(self,item, nachRaumId):
|
def moveItemVonInventarNachRaum(self,item, nachRaumId):
|
||||||
self.ausDemInventar(item)
|
del self.world.inventar[item.id]
|
||||||
|
logging.debug(f' Item {item.name} nach RaumId {nachRaumId}')
|
||||||
raum = self.world.findRaumById(nachRaumId)
|
raum = self.world.findRaumById(nachRaumId)
|
||||||
|
logging.debug(f' Item {item.name} liegt jetzt in Raum {raum.name}')
|
||||||
|
logging.debug(f'{item.name} liegt im {raum.name}: {self.liegtItemInRaum(item.id, raum)}')
|
||||||
|
logging.debug(f'{item.name} liegt im {self.world.aktuellerRaum.name}: {self.liegtItemInRaum(item.id, self.world.aktuellerRaum)}')
|
||||||
raum.items[item.id] = item
|
raum.items[item.id] = item
|
||||||
item.raumid = nachRaumId
|
item.raumid = nachRaumId
|
||||||
|
|
||||||
|
115
ActionModul.py
115
ActionModul.py
@@ -44,6 +44,10 @@ class ActionModul(ActionBasics):
|
|||||||
|
|
||||||
|
|
||||||
def vanishItem(self, item):
|
def vanishItem(self, item):
|
||||||
|
|
||||||
|
if item == None:
|
||||||
|
return
|
||||||
|
|
||||||
item.sichtbar = False
|
item.sichtbar = False
|
||||||
self.ausDemInventar(item)
|
self.ausDemInventar(item)
|
||||||
|
|
||||||
@@ -89,16 +93,21 @@ class ActionModul(ActionBasics):
|
|||||||
elif item.id == self.world.ITEM_GATTER:
|
elif item.id == self.world.ITEM_GATTER:
|
||||||
logging.debug('Gatter öffnen')
|
logging.debug('Gatter öffnen')
|
||||||
if self.isAktuellerRaum(self.world.RAUM_WIESE):
|
if self.isAktuellerRaum(self.world.RAUM_WIESE):
|
||||||
stier = self.world.findPersonImAktuellenRaum(self.world.PERSON_STIER)
|
stier = self.world.findPersonImAktuellenRaumById(self.world.PERSON_STIER)
|
||||||
|
|
||||||
logging.debug('Stier ist {stier}')
|
logging.debug(f'Stier ist {stier}')
|
||||||
|
|
||||||
if stier != None:
|
if stier == None:
|
||||||
item.zustand = item.OFFEN
|
item.zustand = item.OFFEN
|
||||||
self.macheWegFrei(self.world.SUED,self.world.RAUM_BRACHLAND)
|
self.macheWegFrei(self.world.SUED,self.world.RAUM_BRACHLAND)
|
||||||
self.setFehler('Das Gatter steht offen.')
|
self.setFehler('Das Gatter steht offen.')
|
||||||
else:
|
else:
|
||||||
self.setFehler(f'Der {stier.name} steht dir im Weg.')
|
self.setFehler(f'Der Stier steht dir im Weg.')
|
||||||
|
elif item.id == self.world.ITEM_SCHACHTEL:
|
||||||
|
karte = self.world.findItemById(self.world.ITEM_KARTE)
|
||||||
|
logging.debug('Schachtel öffnen')
|
||||||
|
item.zustand = item.OFFEN
|
||||||
|
self.macheItemSichtbar(karte)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -108,6 +117,9 @@ class ActionModul(ActionBasics):
|
|||||||
def benutze(self, parsedCommand):
|
def benutze(self, parsedCommand):
|
||||||
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand);
|
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand);
|
||||||
|
|
||||||
|
if item == None:
|
||||||
|
self.setFehler('Das sehe ich hier nicht.')
|
||||||
|
return
|
||||||
if item.id ==self.world.ITEM_JACKE:
|
if item.id ==self.world.ITEM_JACKE:
|
||||||
self.setFehler('Also du die Jacke anziehst, findest du einen kleine Schlüssel in der Tasche.')
|
self.setFehler('Also du die Jacke anziehst, findest du einen kleine Schlüssel in der Tasche.')
|
||||||
self.findeTruhenschluessel()
|
self.findeTruhenschluessel()
|
||||||
@@ -127,10 +139,6 @@ class ActionModul(ActionBasics):
|
|||||||
bach = self.world.sucheRaum(self.world.RAUM_BACH)
|
bach = self.world.sucheRaum(self.world.RAUM_BACH)
|
||||||
bach.ausgaenge[self.world.OST] = self.world.RAUM_TEICH
|
bach.ausgaenge[self.world.OST] = self.world.RAUM_TEICH
|
||||||
|
|
||||||
def ausDemInventar(self,item):
|
|
||||||
del self.world.inventar[item.id]
|
|
||||||
self.world.aktuellerRaum.items[item.id] = item
|
|
||||||
item.raumid = self.world.aktuellerRaum.id
|
|
||||||
|
|
||||||
def verliere(self,parsedCommand):
|
def verliere(self,parsedCommand):
|
||||||
item = self.world.findItemImInventar(parsedCommand.gegenstand);
|
item = self.world.findItemImInventar(parsedCommand.gegenstand);
|
||||||
@@ -169,7 +177,14 @@ class ActionModul(ActionBasics):
|
|||||||
logging.debug(f'untersucheAktuellenRaum() {parsedCommand.gegenstand} in {self.world.aktuellerRaum.id}')
|
logging.debug(f'untersucheAktuellenRaum() {parsedCommand.gegenstand} in {self.world.aktuellerRaum.id}')
|
||||||
if self.isAktuellerRaum(raum.id):
|
if self.isAktuellerRaum(raum.id):
|
||||||
logging.debug(f'untersuche aktuellen Raum {raum.name}')
|
logging.debug(f'untersuche aktuellen Raum {raum.name}')
|
||||||
|
if self.isAktuellerRaum(self.world.RAUM_TUNNEL):
|
||||||
|
self.world.printText(f'raum-{self.world.RAUM_TUNNEL}')
|
||||||
|
self.world.aktuellerRaum.ausgaenge[self.world.OST] = self.world.RAUM_HAFEN
|
||||||
|
|
||||||
|
def untersuchePerson(self,person):
|
||||||
|
|
||||||
|
if person.id == self.world.PERSON_ZWERG:
|
||||||
|
self.world.printText(f'npc-{person.id}-beschr')
|
||||||
|
|
||||||
def findeTruhenschluessel(self):
|
def findeTruhenschluessel(self):
|
||||||
schluessel = self.world.findItemById(self.world.ITEM_KLEINER_SCHLUESSEL)
|
schluessel = self.world.findItemById(self.world.ITEM_KLEINER_SCHLUESSEL)
|
||||||
@@ -194,10 +209,23 @@ class ActionModul(ActionBasics):
|
|||||||
if self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
|
if self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
|
||||||
if item.zustand == item.VOLL:
|
if item.zustand == item.VOLL:
|
||||||
ranke = self.world.findItemById(self.world.ITEM_BOHNENRANKE)
|
ranke = self.world.findItemById(self.world.ITEM_BOHNENRANKE)
|
||||||
|
fisch = self.world.findItemImInventarById(self.world.ITEM_FISCH)
|
||||||
|
|
||||||
|
logging.debug(f'Fisch ist {fisch}')
|
||||||
|
|
||||||
|
if fisch != None:
|
||||||
|
logging.debug('Krug leeren löst den Fisch auf.')
|
||||||
|
self.vanishItem(fisch)
|
||||||
|
self.setFehler('Der Fisch löst sich auf.')
|
||||||
|
|
||||||
if ranke.zustand < ranke.GROSS:
|
if ranke.zustand < ranke.GROSS:
|
||||||
ranke.zustand = ranke.zustand +1
|
ranke.zustand = ranke.zustand +1
|
||||||
self.setFehler('Die Bohnenranke wächst.')
|
meldung = 'Die Bohnenranke wächst.'
|
||||||
|
|
||||||
|
if fisch != None:
|
||||||
|
meldung = meldung + ' Der Fisch löst sich auf.'
|
||||||
|
|
||||||
|
self.setFehler(meldung)
|
||||||
if ranke.zustand == ranke.GROSS:
|
if ranke.zustand == ranke.GROSS:
|
||||||
self.world.aktuellerRaum.ausgaenge[self.world.RAUF] = self.world.RAUM_BOHNENRANKE
|
self.world.aktuellerRaum.ausgaenge[self.world.RAUF] = self.world.RAUM_BOHNENRANKE
|
||||||
self.setFehler('Die Bohnenranke reicht jetzt bis in die Wolken hinein.')
|
self.setFehler('Die Bohnenranke reicht jetzt bis in die Wolken hinein.')
|
||||||
@@ -225,7 +253,7 @@ class ActionModul(ActionBasics):
|
|||||||
def untersuche(self,parsedCommand):
|
def untersuche(self,parsedCommand):
|
||||||
logging.debug(f'untersuche() suche nach Gegenstand: {parsedCommand.gegenstand}')
|
logging.debug(f'untersuche() suche nach Gegenstand: {parsedCommand.gegenstand}')
|
||||||
if parsedCommand.gegenstand == None:
|
if parsedCommand.gegenstand == None:
|
||||||
self.untersucheAktuellenRaum()
|
self.untersucheAktuellenRaum(parsedCommand)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -252,6 +280,7 @@ class ActionModul(ActionBasics):
|
|||||||
elif item.id == self.world.ITEM_TEICH:
|
elif item.id == self.world.ITEM_TEICH:
|
||||||
fisch = self.world.findItemById(self.world.ITEM_FISCH)
|
fisch = self.world.findItemById(self.world.ITEM_FISCH)
|
||||||
|
|
||||||
|
|
||||||
if fisch.raumid == self.world.RAUM_TEICH:
|
if fisch.raumid == self.world.RAUM_TEICH:
|
||||||
fisch.sichtbar = True
|
fisch.sichtbar = True
|
||||||
self.setFehler('Im Teich schwimmt ein kleiner Fisch')
|
self.setFehler('Im Teich schwimmt ein kleiner Fisch')
|
||||||
@@ -263,10 +292,14 @@ class ActionModul(ActionBasics):
|
|||||||
self.zeigeItemBeschreibung(item)
|
self.zeigeItemBeschreibung(item)
|
||||||
item.sichtbar = False
|
item.sichtbar = False
|
||||||
self.ausDemInventar(item)
|
self.ausDemInventar(item)
|
||||||
|
elif self.isItem(item,self.world.ITEM_KARTE):
|
||||||
|
self.world.printKarte()
|
||||||
else:
|
else:
|
||||||
self.zeigeItemBeschreibung(item)
|
self.zeigeItemBeschreibung(item)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
person = self.world.findPersonImAktuellenRaum(self.world.PERSON_ZWERG)
|
||||||
|
|
||||||
logging.debug('Kein Item gefunden, suche nach Raum')
|
logging.debug('Kein Item gefunden, suche nach Raum')
|
||||||
self.untersucheAktuellenRaum(parsedCommand)
|
self.untersucheAktuellenRaum(parsedCommand)
|
||||||
|
|
||||||
@@ -294,6 +327,7 @@ class ActionModul(ActionBasics):
|
|||||||
self.world.printText('seilwurf')
|
self.world.printText('seilwurf')
|
||||||
self.macheWegFrei(self.world.RAUF,self.world.RAUM_BAUMHAUS)
|
self.macheWegFrei(self.world.RAUF,self.world.RAUM_BAUMHAUS)
|
||||||
self.ausDemInventar(item)
|
self.ausDemInventar(item)
|
||||||
|
item.zustand = item.HAENGEND
|
||||||
elif self.isAktuellerRaum(self.world.RAUM_BOHNENRANKE):
|
elif self.isAktuellerRaum(self.world.RAUM_BOHNENRANKE):
|
||||||
if self.isItem(item, self.world.ITEM_MAUS):
|
if self.isItem(item, self.world.ITEM_MAUS):
|
||||||
|
|
||||||
@@ -309,7 +343,7 @@ class ActionModul(ActionBasics):
|
|||||||
self.setFehler('Der Elefant ist schon geflohen.')
|
self.setFehler('Der Elefant ist schon geflohen.')
|
||||||
else:
|
else:
|
||||||
self.setFehler('Das besitzt du nicht')
|
self.setFehler('Das besitzt du nicht')
|
||||||
elif self.isAktuellerRaum(self.world.RAUM_WIESE):
|
elif self.isItemAndAktRaum(item, self.world.ITEM_JACKE, self.world.RAUM_WIESE):
|
||||||
logging.debug('Jackenwurf')
|
logging.debug('Jackenwurf')
|
||||||
stier = self.world.findPersonImAktuellenRaumById(self.world.PERSON_STIER)
|
stier = self.world.findPersonImAktuellenRaumById(self.world.PERSON_STIER)
|
||||||
jacke = self.world.findItemImInventarById(self.world.ITEM_JACKE)
|
jacke = self.world.findItemImInventarById(self.world.ITEM_JACKE)
|
||||||
@@ -318,35 +352,54 @@ class ActionModul(ActionBasics):
|
|||||||
if stier != None:
|
if stier != None:
|
||||||
if jacke != None:
|
if jacke != None:
|
||||||
self.world.printText('jackewurf')
|
self.world.printText('jackewurf')
|
||||||
|
logging.debug(f'1:Jacke im Raum {self.liegtItemInRaum(jacke.id, self.world.aktuellerRaum)}')
|
||||||
self.personVonRaumNachRaum(stier,self.world.aktuellerRaum.id, self.world.RAUM_FELD)
|
self.personVonRaumNachRaum(stier,self.world.aktuellerRaum.id, self.world.RAUM_FELD)
|
||||||
|
logging.debug(f'2:Jacke im Raum {self.liegtItemInRaum(jacke.id, self.world.aktuellerRaum)}')
|
||||||
self.moveItemVonInventarNachRaum(jacke, self.world.RAUM_FELD)
|
self.moveItemVonInventarNachRaum(jacke, self.world.RAUM_FELD)
|
||||||
|
logging.debug(f'3:Jacke im Raum {self.liegtItemInRaum(jacke.id, self.world.aktuellerRaum)}')
|
||||||
else:
|
else:
|
||||||
self.setFehler('Die trägst du nicht bei dir.')
|
self.setFehler('Die trägst du nicht bei dir.')
|
||||||
else:
|
else:
|
||||||
|
logging.debug(f'verliere Jacke (kein Stier)')
|
||||||
self.verliere(parsedCommand)
|
self.verliere(parsedCommand)
|
||||||
else:
|
else:
|
||||||
|
logging.debug(f'verliere Jacke (falscher Raum, nicht Jacke)')
|
||||||
self.verliere(parsedCommand)
|
self.verliere(parsedCommand)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def klettere(self, parsedCommand):
|
def klettere(self, parsedCommand):
|
||||||
leiter = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
||||||
|
geklettert = False
|
||||||
|
|
||||||
logging.debug(f'klettere(): Leiter is {leiter}')
|
if item == None:
|
||||||
if leiter != None:
|
self.setFehler('Das sehe ich hier nicht')
|
||||||
|
return
|
||||||
|
if item.id == self.world.ITEM_LEITER:
|
||||||
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()
|
||||||
|
geklettert = True
|
||||||
elif self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
|
elif self.isAktuellerRaum(self.world.RAUM_BRACHLAND):
|
||||||
ranke = self.findItemImInventarOderAktuellerRaum(self.world.ITEM_BOHNENRANKE)
|
ranke = self.findItemImInventarOderAktuellerRaum(self.world.ITEM_BOHNENRANKE)
|
||||||
|
|
||||||
if ranke.zustand == Gegenstand.GROSS:
|
if ranke.zustand == Gegenstand.GROSS:
|
||||||
self.ac.rauf()
|
self.ac.rauf()
|
||||||
|
geklettert = True
|
||||||
else:
|
else:
|
||||||
self.setFehler('Die Bohnenranke ist zu klein, um daran hoch zu klettern.')
|
self.setFehler('Die Bohnenranke ist zu klein, um daran hoch zu klettern.')
|
||||||
|
elif item.id == self.world.ITEM_SEIL:
|
||||||
|
logging.debug(f'klettere am Seil: {item.zustand}')
|
||||||
|
if item.zustand == item.HAENGEND:
|
||||||
|
self.rauf()
|
||||||
|
geklettert = True
|
||||||
else:
|
else:
|
||||||
self.setFehler('Eine Leiter sehe ich hier nicht.')
|
self.setFehler('So kannst nicht daran klettern.')
|
||||||
|
|
||||||
|
if not geklettert:
|
||||||
|
self.setFehler('Klettern ist nicht möglich.')
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -396,10 +449,10 @@ class ActionModul(ActionBasics):
|
|||||||
|
|
||||||
|
|
||||||
def sprich(self,parsedCommand):
|
def sprich(self,parsedCommand):
|
||||||
geist = self.world.findPersonImAktuellenRaum(parsedCommand.gegenstand)
|
person = self.world.findPersonImAktuellenRaum(parsedCommand.gegenstand)
|
||||||
|
|
||||||
if geist != None:
|
if person != None:
|
||||||
self.world.printText('geist')
|
self.world.printText(f'npc-{person.id}')
|
||||||
else:
|
else:
|
||||||
self.setFehler(f'{parsedCommand.gegenstand} ist nicht im Raum.')
|
self.setFehler(f'{parsedCommand.gegenstand} ist nicht im Raum.')
|
||||||
|
|
||||||
@@ -409,7 +462,7 @@ class ActionModul(ActionBasics):
|
|||||||
else:
|
else:
|
||||||
self.world.printText('hilfe')
|
self.world.printText('hilfe')
|
||||||
|
|
||||||
def geheNachItem(parsedCommand):
|
def geheNachItem(self,parsedCommand):
|
||||||
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
item = self.world.findItemInAktuellerRaum(parsedCommand.gegenstand)
|
||||||
|
|
||||||
if item == None:
|
if item == None:
|
||||||
@@ -417,6 +470,9 @@ class ActionModul(ActionBasics):
|
|||||||
return
|
return
|
||||||
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):
|
||||||
|
boot = self.world.sucheRaum(self.world.RAUM_BOOT)
|
||||||
|
self.wechsleRaum(boot)
|
||||||
else:
|
else:
|
||||||
self.setFehler('Das gibt\'s hier nicht.')
|
self.setFehler('Das gibt\'s hier nicht.')
|
||||||
|
|
||||||
@@ -437,10 +493,25 @@ class ActionModul(ActionBasics):
|
|||||||
else:
|
else:
|
||||||
self.geheNachItem(parsedCommand)
|
self.geheNachItem(parsedCommand)
|
||||||
|
|
||||||
|
def gib(self, parsedCommand):
|
||||||
|
item = self.world.findItemImInventar(parsedCommand.gegenstand)
|
||||||
|
|
||||||
|
if item == None:
|
||||||
|
self.setFehler('Das besitzt du nicht')
|
||||||
|
return
|
||||||
|
|
||||||
|
if item.id == self.world.ITEM_JACKE:
|
||||||
|
zwerg = self.world.findPersonImAktuellenRaumById(self.world.PERSON_ZWERG)
|
||||||
|
|
||||||
|
logging.debug(f'gib() Zwerg {zwerg}')
|
||||||
|
|
||||||
|
if zwerg != None:
|
||||||
|
schachtel = self.world.findItemById(self.world.ITEM_SCHACHTEL)
|
||||||
|
self.setFehler('Der Zwerg zieht sich die Jacke an, lächelt dankbar und verschwindet.')
|
||||||
|
del self.world.aktuellerRaum.personen[zwerg.id]
|
||||||
|
self.macheItemSichtbar(schachtel)
|
||||||
|
|
||||||
|
|
||||||
def wechsleRaum(self,raum):
|
|
||||||
self.world.aktuellerRaum = raum
|
|
||||||
raum.entdeckt = True
|
|
||||||
def geheNach(self,richtung):
|
def geheNach(self,richtung):
|
||||||
logging.debug(f'Richtung {richtung}')
|
logging.debug(f'Richtung {richtung}')
|
||||||
raum = self.world.aktuellerRaum
|
raum = self.world.aktuellerRaum
|
||||||
|
@@ -18,6 +18,7 @@ class TestModule:
|
|||||||
return self.world.parseInput(command)
|
return self.world.parseInput(command)
|
||||||
|
|
||||||
def testOeffneTruhe(self):
|
def testOeffneTruhe(self):
|
||||||
|
logging.debug('===== Beginn Testmodul Truhe =====')
|
||||||
pcmd = self.parseInput('nimm Truhe')
|
pcmd = self.parseInput('nimm Truhe')
|
||||||
|
|
||||||
#Auf den Dachboden
|
#Auf den Dachboden
|
||||||
@@ -76,6 +77,7 @@ class TestModule:
|
|||||||
|
|
||||||
def testTeich(self):
|
def testTeich(self):
|
||||||
self.testOeffneTruhe()
|
self.testOeffneTruhe()
|
||||||
|
logging.debug('===== Beginn Testmodul Teich =====')
|
||||||
|
|
||||||
#Rauf ins Schlafzimmer
|
#Rauf ins Schlafzimmer
|
||||||
self.ac.rauf()
|
self.ac.rauf()
|
||||||
@@ -132,12 +134,16 @@ class TestModule:
|
|||||||
|
|
||||||
#Zum Teich
|
#Zum Teich
|
||||||
self.ac.ost()
|
self.ac.ost()
|
||||||
|
pcmd = self.parseInput('nimm Fisch')
|
||||||
|
self.ac.nimm(pcmd)
|
||||||
self.schrittzaehler += 1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
self.world.schrittzaehler = self.schrittzaehler
|
self.world.schrittzaehler = self.schrittzaehler
|
||||||
|
|
||||||
def testStier(self):
|
def testStier(self):
|
||||||
self.testTeich()
|
self.testTeich()
|
||||||
|
logging.debug('===== Beginn Testmodul Stier =====')
|
||||||
|
|
||||||
pcmd = self.parseInput('nimm Fisch')
|
pcmd = self.parseInput('nimm Fisch')
|
||||||
self.ac.nimm(pcmd)
|
self.ac.nimm(pcmd)
|
||||||
@@ -166,36 +172,29 @@ class TestModule:
|
|||||||
self.ac.west()
|
self.ac.west()
|
||||||
self.schrittzaehler += 1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
pcmd = self.parseInput('wirf Jacke')
|
||||||
|
self.ac.wirf(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
#Feld
|
||||||
|
self.ac.ost()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
pcmd = self.parseInput('nimm Jacke')
|
||||||
|
self.ac.nimm(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
# Auf die Wiese
|
||||||
|
self.ac.west()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
pcmd = self.parseInput('öffne Gatter')
|
||||||
|
self.ac.oeffne(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
def testRanke(self):
|
def testRanke(self):
|
||||||
self.testTeich()
|
self.testStier()
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
# Kleines Feld
|
|
||||||
self.ac.sued()
|
|
||||||
self.schrittzaehler += 1
|
|
||||||
|
|
||||||
pcmd = self.parseInput('nimm Maus')
|
|
||||||
self.ac.nimm(pcmd)
|
|
||||||
self.schrittzaehler += 1
|
|
||||||
|
|
||||||
self.ac.nord()
|
|
||||||
self.schrittzaehler += 1
|
|
||||||
|
|
||||||
# Auf die Wiese
|
|
||||||
self.ac.west()
|
|
||||||
self.schrittzaehler += 1
|
|
||||||
|
|
||||||
|
logging.debug('===== Beginn Testmodul Ranke =====')
|
||||||
|
|
||||||
# Aufs Brachland
|
# Aufs Brachland
|
||||||
self.ac.sued()
|
self.ac.sued()
|
||||||
@@ -285,6 +284,46 @@ class TestModule:
|
|||||||
self.ac.rauf()
|
self.ac.rauf()
|
||||||
self.schrittzaehler += 1
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
def testHafen(self):
|
||||||
|
self.testBaumhaus()
|
||||||
|
|
||||||
|
pcmd = self.parseInput('gib Jacke an Zwerg')
|
||||||
|
self.ac.gib(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
pcmd = self.parseInput('nimm Schachtel')
|
||||||
|
self.ac.nimm(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
pcmd = self.parseInput('öffne Schachtel')
|
||||||
|
self.ac.oeffne(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
pcmd = self.parseInput('nimm Karte')
|
||||||
|
self.ac.nimm(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
|
#Baum
|
||||||
|
self.ac.runter()
|
||||||
|
|
||||||
|
#Tal
|
||||||
|
self.ac.nord()
|
||||||
|
|
||||||
|
#Tunnel
|
||||||
|
|
||||||
|
self.ac.ost()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
pcmd = self.parseInput('untersuche')
|
||||||
|
self.ac.untersuche(pcmd)
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
#Hafen
|
||||||
|
self.ac.ost()
|
||||||
|
self.schrittzaehler += 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
68
World.py
68
World.py
@@ -21,6 +21,53 @@ class World:
|
|||||||
self.waitForCR()
|
self.waitForCR()
|
||||||
self.printRaum()
|
self.printRaum()
|
||||||
|
|
||||||
|
def printKarte(self):
|
||||||
|
self.clearScreen()
|
||||||
|
s = self.stdscr
|
||||||
|
LAND=curses.color_pair( 5)
|
||||||
|
WASSER=curses.color_pair(4)
|
||||||
|
|
||||||
|
s.addstr(1,0,' ',LAND)
|
||||||
|
s.addstr(1,17,'H', WASSER)
|
||||||
|
s.addstr(1,18,' ', WASSER)
|
||||||
|
s.addstr(1,51,'N ', LAND)
|
||||||
|
s.addstr(2,0,' ',LAND)
|
||||||
|
s.addstr(2,14,' ', WASSER)
|
||||||
|
s.addstr(2,48,' W+O ', LAND)
|
||||||
|
s.addstr(3,0,'X(Baum) ', LAND)
|
||||||
|
s.addstr(3,10,' ',WASSER)
|
||||||
|
s.addstr(3,46,' S ', LAND)
|
||||||
|
s.addstr(4,0,' ', LAND)
|
||||||
|
s.addstr(4,10,' ',WASSER)
|
||||||
|
s.addstr(4,45,' ',LAND)
|
||||||
|
s.addstr(5,0,' ', LAND)
|
||||||
|
s.addstr(5,7,' ',WASSER)
|
||||||
|
s.addstr(5,45,' ',LAND)
|
||||||
|
s.addstr(6,0,' ', LAND)
|
||||||
|
s.addstr(6,6,' ',WASSER)
|
||||||
|
s.addstr(6,45,' ',LAND)
|
||||||
|
s.addstr(7,0,' ', LAND)
|
||||||
|
s.addstr(7,6,' ',WASSER)
|
||||||
|
s.addstr(7,44,' ',LAND)
|
||||||
|
s.addstr(8,0,' ', LAND)
|
||||||
|
s.addstr(8,6,' ',WASSER)
|
||||||
|
s.addstr(8,44,' ',LAND)
|
||||||
|
s.addstr(9,0,' ', LAND)
|
||||||
|
s.addstr(9,6,' großer ',WASSER)
|
||||||
|
s.addstr(9,44,' ',LAND)
|
||||||
|
s.addstr(10,0,' ', LAND)
|
||||||
|
s.addstr(10,6,' See ',WASSER)
|
||||||
|
s.addstr(10,44,' ',LAND)
|
||||||
|
s.addstr(11,0,' ',WASSER)
|
||||||
|
s.addstr(11,43,' ',LAND)
|
||||||
|
s.addstr(12,0,' ',WASSER)
|
||||||
|
s.addstr(12,17,' ', LAND)
|
||||||
|
s.addstr(12,18,' ',WASSER)
|
||||||
|
s.addstr(12,41,' o ',LAND)
|
||||||
|
s.addstr(13,0,' ',WASSER)
|
||||||
|
s.addstr(13,39,' (Grab) ',LAND)
|
||||||
|
self.waitForCR()
|
||||||
|
|
||||||
def printBefehle(self):
|
def printBefehle(self):
|
||||||
self.clearScreen()
|
self.clearScreen()
|
||||||
befehlar = []
|
befehlar = []
|
||||||
@@ -105,11 +152,16 @@ class World:
|
|||||||
def sucheRaum(self,id):
|
def sucheRaum(self,id):
|
||||||
for raumid in self.raumliste:
|
for raumid in self.raumliste:
|
||||||
raum = self.raumliste[raumid]
|
raum = self.raumliste[raumid]
|
||||||
|
|
||||||
|
# logging.debug(f'{raumid} - {raum.id}')
|
||||||
if raum.id == id:
|
if raum.id == id:
|
||||||
return raum
|
return raum
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def sucheRaumName(self,name):
|
def sucheRaumName(self,name):
|
||||||
|
if name == None:
|
||||||
|
return self.aktuellerRaum
|
||||||
|
|
||||||
for raumid in self.raumliste:
|
for raumid in self.raumliste:
|
||||||
raum = self.raumliste[raumid]
|
raum = self.raumliste[raumid]
|
||||||
if raum.name.lower() == name.lower():
|
if raum.name.lower() == name.lower():
|
||||||
@@ -183,6 +235,8 @@ class World:
|
|||||||
for persid in raum.personen:
|
for persid in raum.personen:
|
||||||
person = raum.personen[persid]
|
person = raum.personen[persid]
|
||||||
|
|
||||||
|
logging.debug(f'{person.id} - {personid}')
|
||||||
|
|
||||||
if person.id == personid:
|
if person.id == personid:
|
||||||
return person
|
return person
|
||||||
return None
|
return None
|
||||||
@@ -190,6 +244,7 @@ class World:
|
|||||||
|
|
||||||
def findItemImInventar(self,itemname):
|
def findItemImInventar(self,itemname):
|
||||||
|
|
||||||
|
|
||||||
for itemid in self.inventar:
|
for itemid in self.inventar:
|
||||||
if self.inventar[itemid].name.lower() == itemname.lower():
|
if self.inventar[itemid].name.lower() == itemname.lower():
|
||||||
return self.inventar[itemid]
|
return self.inventar[itemid]
|
||||||
@@ -205,7 +260,7 @@ class World:
|
|||||||
def ermittleBefehlId(self,befehl):
|
def ermittleBefehlId(self,befehl):
|
||||||
for id in self.befehle:
|
for id in self.befehle:
|
||||||
name = self.befehle[id].name
|
name = self.befehle[id].name
|
||||||
logging.debug(f'{befehl} - {name}')
|
#logging.debug(f'{befehl} - {name}')
|
||||||
if name == befehl:
|
if name == befehl:
|
||||||
return id
|
return id
|
||||||
return None
|
return None
|
||||||
@@ -326,6 +381,13 @@ class World:
|
|||||||
self.ITEM_ELEFANT = '22'
|
self.ITEM_ELEFANT = '22'
|
||||||
self.ITEM_HAFEN = '23'
|
self.ITEM_HAFEN = '23'
|
||||||
self.ITEM_GATTER = '25'
|
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
|
# Räume
|
||||||
|
|
||||||
@@ -354,6 +416,10 @@ class World:
|
|||||||
self.RAUM_STRAND = '22'
|
self.RAUM_STRAND = '22'
|
||||||
self.RAUM_HAFEN = '23'
|
self.RAUM_HAFEN = '23'
|
||||||
self.RAUM_BAUMHAUS = '24'
|
self.RAUM_BAUMHAUS = '24'
|
||||||
|
self.RAUM_BOOT = '25'
|
||||||
|
self.RAUM_KABINE = '26'
|
||||||
|
self.RAUM_BOOT2 = '27'
|
||||||
|
self.RAUM_INSEL = '28'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
9
ascii/dach.txt
Normal file
9
ascii/dach.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[40;31m
|
||||||
|
/\
|
||||||
|
/ \
|
||||||
|
/ \
|
||||||
|
/ \
|
||||||
|
/ \
|
||||||
|
/ \
|
||||||
|
^[[40;33m
|
||||||
|
------------
|
13
ascii/karte.txt
Normal file
13
ascii/karte.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
H N
|
||||||
|
------- W+O
|
||||||
|
X(Baum) | |S
|
||||||
|
| --
|
||||||
|
------ |
|
||||||
|
| |
|
||||||
|
--- |
|
||||||
|
| --
|
||||||
|
| großer | o(Grab)
|
||||||
|
--- See --
|
||||||
|
|
|
||||||
|
* --
|
||||||
|
|
|
@@ -42,7 +42,7 @@ class Raum(SuperNode):
|
|||||||
|
|
||||||
for itemid in self.items:
|
for itemid in self.items:
|
||||||
item = self.items[itemid]
|
item = self.items[itemid]
|
||||||
logging.debug('labelsGegenstaende(): Item ' + self.items[itemid].name + ' ist ' + str(item.sichtbar))
|
#logging.debug('labelsGegenstaende(): Item ' + self.items[itemid].name + ' ist ' + str(item.sichtbar))
|
||||||
if item.sichtbar:
|
if item.sichtbar:
|
||||||
if item.display != None:
|
if item.display != None:
|
||||||
labels.append(item.display)
|
labels.append(item.display)
|
||||||
@@ -68,7 +68,6 @@ class Gegenstand(SuperNode):
|
|||||||
def __init__(self,name,id,raumid):
|
def __init__(self,name,id,raumid):
|
||||||
super().__init__(name,id)
|
super().__init__(name,id)
|
||||||
self.raumid = raumid
|
self.raumid = raumid
|
||||||
self.zustand = 0
|
|
||||||
self.sichtbar = True
|
self.sichtbar = True
|
||||||
self.imobil = False
|
self.imobil = False
|
||||||
self.adjektiv = None
|
self.adjektiv = None
|
||||||
@@ -80,6 +79,7 @@ class Gegenstand(SuperNode):
|
|||||||
self.GROSS = 2
|
self.GROSS = 2
|
||||||
self.LEER = 0
|
self.LEER = 0
|
||||||
self.VOLL = 1
|
self.VOLL = 1
|
||||||
|
self.HAENGEND = 0
|
||||||
self.zustand = self.GESCHLOSSEN
|
self.zustand = self.GESCHLOSSEN
|
||||||
|
|
||||||
class Adjektiv(SuperNode):
|
class Adjektiv(SuperNode):
|
||||||
|
Binary file not shown.
10
map.txt
10
map.txt
@@ -39,12 +39,16 @@
|
|||||||
|
|
|
|
||||||
|
|
|
|
||||||
V
|
V
|
||||||
Tal<---> Tunnel <--->Strand
|
Tal<---> Tunnel <--->Hafen<-->Boot
|
||||||
|
^ ^ \
|
||||||
|
| | Kabine
|
||||||
|
| | /
|
||||||
|
V V /
|
||||||
|
Baum <--> Baumhaus Boot
|
||||||
^
|
^
|
||||||
|
|
|
|
||||||
|
|
|
||||||
V
|
V
|
||||||
Baum <--> Baumhaus
|
Beiboot<--> Insel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
36
printKarte.py
Normal file
36
printKarte.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import curses
|
||||||
|
from curses import wrapper
|
||||||
|
|
||||||
|
def printKarte(stdscr):
|
||||||
|
s = stdscr
|
||||||
|
|
||||||
|
s.addstr(1,0,' H N')
|
||||||
|
s.addstr(2,0,' ------- W+O')
|
||||||
|
s.addstr(3,0,'X(Baum) | |S')
|
||||||
|
s.addstr(4,0,' | --')
|
||||||
|
s.addstr(5,0,' ------ |')
|
||||||
|
s.addstr(6,0,' | |')
|
||||||
|
s.addstr(7,0,'--- |')
|
||||||
|
s.addstr(8,0,'| --')
|
||||||
|
s.addstr(9,0,'| großer | o(Grab)')
|
||||||
|
s.addstr(10,0,'--- See -- ')
|
||||||
|
s.addstr(11,0,' |')
|
||||||
|
s.addstr(12,0,' * --')
|
||||||
|
s.addstr(13,0,' |')
|
||||||
|
|
||||||
|
|
||||||
|
def inputLoop(stdscr):
|
||||||
|
|
||||||
|
|
||||||
|
curses.echo()
|
||||||
|
curses.init_pair(1,curses.COLOR_RED, curses.COLOR_WHITE)
|
||||||
|
curses.init_pair(2,curses.COLOR_GREEN, curses.COLOR_BLACK)
|
||||||
|
curses.init_pair(3,curses.COLOR_YELLOW, curses.COLOR_BLACK)
|
||||||
|
printKarte(stdscr)
|
||||||
|
|
||||||
|
def main():
|
||||||
|
wrapper(inputLoop)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
||||||
|
|
23
tomb.py
23
tomb.py
@@ -68,6 +68,8 @@ def verarbeiteBefehl(parsedCommand):
|
|||||||
actionmodul.fuelle(parsedCommand)
|
actionmodul.fuelle(parsedCommand)
|
||||||
elif id == '28':
|
elif id == '28':
|
||||||
actionmodul.wirf(parsedCommand)
|
actionmodul.wirf(parsedCommand)
|
||||||
|
elif id == '29':
|
||||||
|
actionmodul.gib(parsedCommand)
|
||||||
elif id == '-1':
|
elif id == '-1':
|
||||||
world.fehler = 'Ich verstehe diesen Befehl nicht'
|
world.fehler = 'Ich verstehe diesen Befehl nicht'
|
||||||
else:
|
else:
|
||||||
@@ -94,6 +96,8 @@ def inputLoop(stdscr):
|
|||||||
curses.init_pair(1,curses.COLOR_RED, curses.COLOR_WHITE)
|
curses.init_pair(1,curses.COLOR_RED, curses.COLOR_WHITE)
|
||||||
curses.init_pair(2,curses.COLOR_GREEN, curses.COLOR_BLACK)
|
curses.init_pair(2,curses.COLOR_GREEN, curses.COLOR_BLACK)
|
||||||
curses.init_pair(3,curses.COLOR_YELLOW, curses.COLOR_BLACK)
|
curses.init_pair(3,curses.COLOR_YELLOW, curses.COLOR_BLACK)
|
||||||
|
curses.init_pair(4,curses.COLOR_WHITE, curses.COLOR_BLUE)
|
||||||
|
curses.init_pair(5,curses.COLOR_WHITE, curses.COLOR_GREEN)
|
||||||
commandid = ''
|
commandid = ''
|
||||||
while commandid != '0':
|
while commandid != '0':
|
||||||
world.printRaum()
|
world.printRaum()
|
||||||
@@ -113,6 +117,10 @@ def inputLoop(stdscr):
|
|||||||
debug_Inventar()
|
debug_Inventar()
|
||||||
elif debugcommand[1] == 'personen':
|
elif debugcommand[1] == 'personen':
|
||||||
debug_Personen()
|
debug_Personen()
|
||||||
|
elif debugcommand[1] == 'karte':
|
||||||
|
world.printKarte()
|
||||||
|
commandid = '0'
|
||||||
|
|
||||||
elif command.startswith('auto:'):
|
elif command.startswith('auto:'):
|
||||||
command = command.rstrip()
|
command = command.rstrip()
|
||||||
if command.startswith('auto:'):
|
if command.startswith('auto:'):
|
||||||
@@ -134,6 +142,9 @@ def inputLoop(stdscr):
|
|||||||
elif debugcommand[1] == 'stier':
|
elif debugcommand[1] == 'stier':
|
||||||
testmodul.testStier()
|
testmodul.testStier()
|
||||||
|
|
||||||
|
elif debugcommand[1] == 'hafen':
|
||||||
|
testmodul.testHafen()
|
||||||
|
|
||||||
world.fehler = ''
|
world.fehler = ''
|
||||||
|
|
||||||
|
|
||||||
@@ -154,19 +165,21 @@ def debug_Personen():
|
|||||||
|
|
||||||
def debug_Items():
|
def debug_Items():
|
||||||
logging.debug('liste Items')
|
logging.debug('liste Items')
|
||||||
logging.debug(world.gegenstaende)
|
logging.debug(world.aktuellerRaum.items)
|
||||||
count = 0
|
count = 0
|
||||||
for item in world.gegenstaende:
|
for itemid in world.aktuellerRaum.items:
|
||||||
|
item = world.aktuellerRaum.items[itemid]
|
||||||
logging.debug(f'count= {count}')
|
logging.debug(f'count= {count}')
|
||||||
logging.debug(f'Itemtyp: {type(item)}')
|
# logging.debug(f'Itemtyp: {type(item)}')
|
||||||
# logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name}')
|
logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name}')
|
||||||
count = count +1
|
count = count +1
|
||||||
|
|
||||||
def debug_Inventar():
|
def debug_Inventar():
|
||||||
logging.debug('liste Items')
|
logging.debug('liste Items')
|
||||||
logging.debug(world.inventar)
|
logging.debug(world.inventar)
|
||||||
count = 0
|
count = 0
|
||||||
for item in world.inventar:
|
for itemid in world.inventar:
|
||||||
|
item = world.inventar[itemid]
|
||||||
logging.debug(f'count= {count}')
|
logging.debug(f'count= {count}')
|
||||||
logging.debug(f'Itemtyp: {type(item)}')
|
logging.debug(f'Itemtyp: {type(item)}')
|
||||||
# logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name}')
|
# logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name}')
|
||||||
|
68
world.xml
68
world.xml
@@ -141,7 +141,7 @@
|
|||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='20' name='Baum'>
|
<raum id='20' name='Baum'>
|
||||||
<ausgang dir='Nord' nachRaum= '18' />
|
<ausgang dir='Nord' nachRaum= '19' />
|
||||||
<beschreibung>
|
<beschreibung>
|
||||||
Du stehst unter einem Baum mit einer dichten Baumkrone
|
Du stehst unter einem Baum mit einer dichten Baumkrone
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
@@ -152,18 +152,10 @@
|
|||||||
Im Tunnel ist es dunkel.
|
Im Tunnel ist es dunkel.
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='22' name='Strand'>
|
|
||||||
<ausgang dir='West' nachRaum= '20' />
|
|
||||||
<ausgang dir='Sued' nachRaum= '22' />
|
|
||||||
<beschreibung>
|
|
||||||
Du stehst am Strand eines großen Sees. In südlicher Richtung scheint ein Hafen zu sein.
|
|
||||||
</beschreibung>
|
|
||||||
</raum>
|
|
||||||
<raum id='23' name='Hafen'>
|
<raum id='23' name='Hafen'>
|
||||||
<ausgang dir='Nord' nachRaum= '21' />
|
<ausgang dir='Ost' nachRaum= '21' />
|
||||||
<ausgang dir='Sued' nachRaum= '22' />
|
|
||||||
<beschreibung>
|
<beschreibung>
|
||||||
Im Hafen liegt ein Segelschiff angeleint.
|
Du stehst auf einem Steg, an dem ein Segelboot angeleint liegt.
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
<raum id='24' name='Baumhaus'>
|
<raum id='24' name='Baumhaus'>
|
||||||
@@ -172,6 +164,24 @@
|
|||||||
Das Baumhaus
|
Das Baumhaus
|
||||||
</beschreibung>
|
</beschreibung>
|
||||||
</raum>
|
</raum>
|
||||||
|
<raum id='25' name='Boot'>
|
||||||
|
<ausgang dir='Süd' nachRaum= '26' />
|
||||||
|
<beschreibung>
|
||||||
|
Du stehst an Deck des Segelboots
|
||||||
|
</beschreibung>
|
||||||
|
</raum>
|
||||||
|
<raum id='26' name='Kabine'>
|
||||||
|
<ausgang dir='Süd' nachRaum= '26' />
|
||||||
|
<beschreibung>
|
||||||
|
In der Kabine ist die Luft etwas abgestanden. Zum Glück steht die Luke offen, um frische Luft hineinzulassen.
|
||||||
|
</beschreibung>
|
||||||
|
</raum>
|
||||||
|
<raum id='27' name='Boot'>
|
||||||
|
<ausgang dir='Süd' nachRaum= '26' />
|
||||||
|
<beschreibung>
|
||||||
|
Du stehst an Deck des Segelboots. Vor dem Bug liegt eine kleine Insel.
|
||||||
|
</beschreibung>
|
||||||
|
</raum>
|
||||||
</ebene>
|
</ebene>
|
||||||
|
|
||||||
<commandset>
|
<commandset>
|
||||||
@@ -214,6 +224,7 @@
|
|||||||
<command name='fuelle' id='36' key='27' />
|
<command name='fuelle' id='36' key='27' />
|
||||||
<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' />
|
||||||
|
|
||||||
|
|
||||||
</commandset>
|
</commandset>
|
||||||
@@ -262,8 +273,14 @@
|
|||||||
<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='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' />
|
|
||||||
<item name='Gatter' id='25' display='' raum='13' imobil='true' adjektiv = '0' msgid='11' visible='true' />
|
<item name='Gatter' id='25' display='' raum='13' imobil='true' adjektiv = '0' msgid='11' visible='true' />
|
||||||
|
<item name='Schachtel' id='26' 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='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='Kabine' id='31' display='' raum='25' imobil='false' adjektiv = '0' msgid='11' visible='false' />
|
||||||
|
<item name='Beiboot' id='32' display='' raum='25' imobil='false' adjektiv = '0' msgid='12' visible='false' />
|
||||||
|
|
||||||
</items>
|
</items>
|
||||||
<personen>
|
<personen>
|
||||||
@@ -283,16 +300,13 @@
|
|||||||
<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' />
|
<pickup text='Das kannst du nicht tragen.' id='10' />
|
||||||
|
<pickup text='Boote gehören ins Wasser.' id='12' />
|
||||||
</messages>
|
</messages>
|
||||||
<bewegungen>
|
<bewegungen>
|
||||||
<bewegung id='0' value='' />
|
<bewegung id='0' value='' />
|
||||||
<bewegung id='1' value='2,5,4,3,1,2' />
|
<bewegung id='1' value='2,5,4,3,1,2' />
|
||||||
</bewegungen>
|
</bewegungen>
|
||||||
<texte>
|
<texte>
|
||||||
<text id='1'>
|
|
||||||
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.
|
|
||||||
</text>
|
|
||||||
<text id='2'>
|
<text id='2'>
|
||||||
In einer Schreibtischschublade findest du einen Schlüssel.
|
In einer Schreibtischschublade findest du einen Schlüssel.
|
||||||
</text>
|
</text>
|
||||||
@@ -332,9 +346,27 @@
|
|||||||
<text id='item-22'>
|
<text id='item-22'>
|
||||||
Der Elefantbulle ist mindestens fünf Meter größer als du und hat zwei beeindruckende Stoßzähne. Er versperrt den Ausgang.
|
Der Elefantbulle ist mindestens fünf Meter größer als du und hat zwei beeindruckende Stoßzähne. Er versperrt den Ausgang.
|
||||||
</text>
|
</text>
|
||||||
|
<text id='item-26'>
|
||||||
|
Eine einfache Schachtel aus Pappe. Jemand hat "Eigentum von Henry" auf die Oberseite geschrieben.
|
||||||
|
</text>
|
||||||
|
<text id='item-28'>
|
||||||
|
Das Segelboot besitzt einen weißen Rumpf und ein schwarzes Dreieckssegel. Am Heck steht keine Name geschrieben, dafür ist eine schwarze Perle
|
||||||
|
aufgemalt.
|
||||||
|
</text>
|
||||||
|
<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.
|
||||||
|
</text>
|
||||||
|
<text id='npc-6'>
|
||||||
|
Der Zwerg klappert vor Kälte mit den Zähnen und kann nicht sprechen.
|
||||||
|
</text>
|
||||||
|
<text id='npc-6-beschr'>
|
||||||
|
Der Zwerg ist etwa hüfthoch. Auf dem Kopf trägt er eine blaue Zipfelmütze (natürlich).Er ist nur mit einer violetten Hose bekleidet,
|
||||||
|
der Oberkörper ist frei.
|
||||||
|
Er scheint offensichtlich zu frieren.
|
||||||
|
</text>
|
||||||
<text id='hilfe'>
|
<text id='hilfe'>
|
||||||
Das Grab des Azteken ist ein klassisches Textadventure.
|
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
|
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.
|
auch ganze Sätze wie "nimm das Schwert" verstanden werden.
|
||||||
Die Liste der möglichen Befehle erhälst du mit "hilfe befehle".
|
Die Liste der möglichen Befehle erhälst du mit "hilfe befehle".
|
||||||
@@ -343,7 +375,7 @@
|
|||||||
<text id='geist'>
|
<text id='geist'>
|
||||||
Ich bin der Geist deines Großonkels Henry. Mein ganzes Leben habe ich damit verbracht, das Himmelsgrab der Azteken zu finden, wie zuvor
|
Ich bin der Geist deines Großonkels Henry. Mein ganzes Leben habe ich damit verbracht, das Himmelsgrab der Azteken zu finden, wie zuvor
|
||||||
mein Vater.
|
mein Vater.
|
||||||
Leider erfolglos.
|
Leider erfolglos. Die Karte, die ich mir mühsam aus Hinweisen erstellt hatte, wurde mir von einem hinterlistigen Zwerg entwendet.
|
||||||
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>
|
||||||
|
Reference in New Issue
Block a user