From f1dbb69004c6f5c2394aec2c8f5b5e47011f32f1 Mon Sep 17 00:00:00 2001 From: Olli Graf Date: Sun, 6 Feb 2022 15:57:44 +0100 Subject: [PATCH] =?UTF-8?q?Definition=20der=20Konstanten=20f=C3=BCr=20Gege?= =?UTF-8?q?nst=C3=A4nde.=20Adjektivliste.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ActionModul.py | 17 +++++++++++++---- World.py | 20 ++++++++++++++++++++ WorldParser.py | 6 ++++++ data/Raum.py | 7 +++++++ data/__pycache__/Raum.cpython-38.pyc | Bin 3440 -> 3713 bytes world.xml | 14 ++++++++++++++ 6 files changed, 60 insertions(+), 4 deletions(-) diff --git a/ActionModul.py b/ActionModul.py index 3bc7f8f..88d9c3b 100644 --- a/ActionModul.py +++ b/ActionModul.py @@ -24,6 +24,15 @@ class ActionModul: self.world.stdscr.addstr(zeile,0,item.name) zeile = zeile +1 + def oeffne(self,parsedCommand): + item = self.world.findItemImInventar(parsedCommand.gegenstand); + + if item != None: + if self.world.findItemImInventarById(13) != None: + item.zustand = item.GEOEFFNET + else: + self.setFehler('Die Tür ist verschlossen.') + def verliere(self,parsedCommand): item = self.world.findItemImInventar(parsedCommand.gegenstand); @@ -46,7 +55,7 @@ class ActionModul: if item != None: logging.debug('stelle() item.id=' + str(item.id)) - if item.id == '6': + if item.id == self.world.ITEM_GLAS: self.world.aktuellerRaum.ausgaenge[self.world.NORD] = '5' self.verliere(parsedCommand) self.world.printText('1') @@ -64,7 +73,7 @@ class ActionModul: #Schlüssel im Keller sichtbar machen logging.debug('mache Schlüssel sichtbar') self.setFehler('Auf dem Boden findest du einen kleinen Schlüssel.') - schluessel = self.world.findRaumItemById('9') + schluessel = self.world.findRaumItemById(self.world.ITEM_KLEINER_SCHLUESSEL) schluessel.sichtbar = True @@ -74,10 +83,10 @@ class ActionModul: if item != None: if item.id == '4': - glas = self.world.findRaumItemById('6') + glas = self.world.findRaumItemById(self.world.ITEM_GLAS) logging.debug(f'mache Gegenstand {glas.name} sichtbar') glas.sichtbar = True - elif item.id == '7': + elif item.id == self.world.ITEM_BETT: # Falltür sichtbar machen self.world.aktuellerRaum.ausgaenge[self.world.RUNTER] = '5' self.setFehler('Im Boden unter dem Bett findest du eine Falltür, die nach unten führt.') diff --git a/World.py b/World.py index 712a650..e8b011c 100644 --- a/World.py +++ b/World.py @@ -118,6 +118,13 @@ class World: if self.inventar[itemid].name == itemname: return self.inventar[itemid] return None + + def findItemImInventarById(self,id): + + for itemid in self.inventar: + if self.inventar[itemid].id == id: + return self.inventar[itemid] + return None def ermittleBefehlId(self,befehl): for id in self.befehle: @@ -158,6 +165,7 @@ class World: self.personen = {} self.bewegungen = {} self.gegenstaende = {} + self.adjektive = [] self.befehle = {} self.inventar = {} self.objekte = {} @@ -173,6 +181,18 @@ class World: self.RAUF = '4' self.RUNTER = '5' self.VERSION = '0.5' + self.ITEM_TISCH = '1' + self.ITEM_LEITER = '2' + self.ITEM_TRUHE = '3' + self.ITEM_PFLANZE = '4' + self.ITEM_EINGANGSTUER = '5' + self.ITEM_GLAS = '6' + self.ITEM_BETT = '7' + self.ITEM_NACHTSCHRANK = '8' + self.ITEM_KLEINER_SCHLUESSEL = '9' + self.ITEM_JACKE = '10' + self.ITEM_SCHWERT = '11' + self.ITEM_SEIL = '12' self.fehler = '' parser = WorldParser.WorldParser(self) parser.parseWorld('world.xml') diff --git a/WorldParser.py b/WorldParser.py index 1693520..db23e50 100644 --- a/WorldParser.py +++ b/WorldParser.py @@ -62,7 +62,13 @@ class WorldParser(): command = Befehl(name,id,key) self.world.befehle[id] = command +# Adjektive + for adj in root.findall('adjektive/adjektiv'): + name = adj.attrib['name'] + id = adj.attrib['id'] + key = adj.attrib['key'] + self.world.adjektive.append(name) # Sortouts for sortout in root.findall('sortouts/sortout'): name = sortout.attrib['name'] diff --git a/data/Raum.py b/data/Raum.py index d9eb694..5f82c80 100644 --- a/data/Raum.py +++ b/data/Raum.py @@ -71,6 +71,13 @@ class Gegenstand(SuperNode): self.OFFEN = 1 self.zustand = self.GESCHLOSSEN +class Adjektiv(SuperNode): + def __init__(self,name, id): + super.__init__(self, name, '') + self.key = key + + + class Person(SuperNode): def __init__(self, name,id,raum): super().__init__(name,id) diff --git a/data/__pycache__/Raum.cpython-38.pyc b/data/__pycache__/Raum.cpython-38.pyc index f8b9c52f9999e19c405f4e1ebec87ab62d7c6174..a9a755a4ead551c4f449bb99ae2775ac3dd47464 100644 GIT binary patch delta 1437 zcmZ`&%TE(Q7~knG+v(G-0-}N_qDYGrG{qnfB{6|uf>4!260(%;3af3G%x+Z(2|h1+ zB6IYj@gn{W-u2{7WA>tdfQeqbc+u~hzGx`h%s12d9>3rBnBPYqcSLSQB0&khSLA2r z`*x&*yx2~xw@yliX2hOJM$9BnfwIGbJ+$9418~HYntv1VURG22nvzz z2|S%b5$7@WP@)FZj+Y{tD4g)%ppyE+8dWG|QGQ*0skWk3kpEDdyG41<;eRYT>qjAi zh?wQFwE54BH{y{%>qg*xptu0b@qwU(^#SY^{=q+$63_y)6P=HPfO^&XBX0K)7^bJ= zNwjYSHUNrYSQW4V0rrWmx0mt+m8UXjon-kbf~!1?{b z2f^j?F7QDF-=Y%+4ytuOD}%1`;TfxpyMtrnO0UVLv`Gx|MkbQ$+mv*lA;FvQ&9DQY zhssn_D78j~+dT~7?iwry6Ol-iY>dS!`2D(W6)YFVeBbh=z-b!Y%e_kRe*u2Ait8y@ zI*%@!56l&K36;^URqY};H{z7$UxVo_(d$~6Ono#*|i+T4H*L>(UBEP_w!joG#R_qdr z`V1KIScD~t2JE$)5NF0V%nE-tTJKeRm}8*0jjm;qGQ*qR0P98%Yy!i#%is;oNeqXZ r;gB)x6T=LJ{Vqa+ny4!s&D%yXXO0svb2Jdt7ge>mrou0z`8E0J2@xWZ$k@HI=OoH!YO>+RlBiXQ}MqvJZRE}-25{K{HqqVjdXmY3c2_)gOgPzK0|N@C)|e?v7x zFoy{2C1%EtBruIBH^p0KiO;E=xSw3P9f4{D8nO-kjBn!XbybfFo*jgTXDi}+vS3Pb zQPI?sFzz^h0FJXNR#WDkLA@b0;K&B$(YuVxClX9aX^=<7-c0vMcZOb0MW_Y*d2mP& z%v=-O#?ts4?%*1kewIKS9*Qr9`C`7`8%@drItsYDL{y*?i@_vi(D(oiH_$`@bs0!$ nApSD)0Hg$$>aZKty4&>lqJm-mNGx_7{}dy7I-Az + In der Decke führt eine Öffnung nach oben ins Schlafzimmer. An der Wand hängt eine Jacke. Kellerraum @@ -82,8 +83,17 @@ + + + + + + + + + @@ -105,6 +115,10 @@ + + + +