Files
pytomb/ActionModul.py
2022-01-19 13:55:13 +01:00

155 lines
4.0 KiB
Python

import logging
class ActionModul:
def isBlank(self,str):
if str and len(str.strip()) == 0:
return True
return False
def __init__(self, world):
self.world = world
def warte(self):
print('Du wartest')
def inventar(self):
self.world.stdscr.addstr(12,0,'Du besitzt folgende Gegenstände:')
zeile=13
for itemid in self.world.inventar:
item = self.world.inventar[itemid]
self.world.stdscr.addstr(zeile,0,item.name)
zeile = zeile +1
def verliere(self,parsedCommand):
item = self.world.findItemImInventar(parsedCommand.gegenstand);
if item != None:
del self.world.inventar[item.id]
self.world.aktuellerRaum.items[item.id] = item
else:
self.setFehler("Diesen Gegenstand besitzt du nicht.")
def setFehler(self,text):
self.world.fehler =text
def stelle(self,parsedCommand):
item = self.world.findItemImInventar(parsedCommand.gegenstand);
if item != None:
logging.debug('stelle() item.id=' + str(item.id))
if item.id == '6':
self.world.aktuellerRaum.ausgaenge[self.world.NORD] = '5'
self.verliere(parsedCommand)
self.world.printText('1')
else:
self.setFehler("Diesen Gegenstand besitzt du nicht.")
def untersuche(self,parsedCommand):
logging.debug('untersuche() suche nach Gegenstand:' + parsedCommand.gegenstand)
item = self.world.findItemImInventarOderAktuellerRaum(parsedCommand.gegenstand)
if item != None:
if item.id == '10':
schluessel = self.world.findRaumItemById('11')
logging.debug('mache Gegenstand ' + schluessel.name + ' sichtbar')
schluessel.sichtbar = True
self.world.printText('2')
elif item.id == '4':
glas = self.world.findRaumItemById('6')
logging.debug(f'mache Gegenstand {glas.name} sichtbar')
glas.sichtbar = True
elif item.id == '7':
# Falltür sichtbar machen
self.world.aktuellerRaum.ausgaenge[self.world.RUNTER] = '8'
else:
self.setFehler("Das sehe ich hier nicht.")
def ziehe(self,parsedCommand):
item = self.world.findIteminAktuellerRaum(parsedCommand.gegenstand)
if item != None:
if item.id == 8:
self.world.stdscr.addstr('Du ziehst den Hebel und es passiert.... nichts!')
else:
self.setFehler("diesen Gegenstand sehe ich hier nicht.")
def nimm(self,parsedCommand):
item = self.world.findIteminAktuellerRaum(parsedCommand.gegenstand)
if item != None:
if item.imobil:
text = self.world.msg[item.pickupmsg]
if self.isBlank(item.pickupmsg):
self.setFehler('Das kannst du nicht mitnehmen')
else:
text = self.world.msg[item.pickupmsg]
self.setFehler(text)
else:
del self.world.aktuellerRaum.items[item.id]
self.world.inventar[item.id] = item
else:
self.setFehler("diesen Gegenstand sehe ich hier nicht.")
def gehe(self):
richtung = self.world.parsedCommand.gegenstand
print("gehe nach " + richtung)
if richtung == 'nord':
self.nord()
def geheNach(self,richtung):
raum = self.world.aktuellerRaum
if raum.ausgaenge[richtung]:
ausgang = raum.sucheRaumAusgang(richtung)
print("gefundener Ausgang: " + ausgang)
if ausgang != None:
raum = self.world.sucheRaum(ausgang)
print("gefundener Raum "+ raum.name)
else:
self.setFehler("In diese Richtung gibt's keine Ausgang!")
if raum != None:
self.world.aktuellerRaum = raum
else:
self.setFehler("In diese Richtung gibt's keine Ausgang!")
else:
self.setFehler("In diese Richtung kannst du nicht gehen")
def nord(self):
self.geheNach(self.world.NORD)
def sued(self):
self.geheNach(self.world.SUED)
def west(self):
self.geheNach(self.world.WEST)
def ost(self):
self.geheNach(self.world.OST)
def rauf(self):
self.geheNach(self.world.RAUF)
def runter(self):
self.geheNach(self.world.RUNTER)
def about(self):
print("Kerker Version " + self.world.VERSION)
self.world.waitForCR
def raumaction(self):
raumid = self.world.aktuellerRaum.id
print('Raumaction für Raum: ' + raumid)