Dateien von pykerker übernommen.
This commit is contained in:
149
ActionModul.py
Normal file
149
ActionModul.py
Normal file
@@ -0,0 +1,149 @@
|
||||
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')
|
||||
else:
|
||||
self.world.printText('item-' + item.id)
|
||||
else:
|
||||
self.setFehler("diesen Gegenstand 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)
|
||||
|
||||
|
Reference in New Issue
Block a user