101 lines
2.1 KiB
Python
101 lines
2.1 KiB
Python
import logging
|
|
|
|
class SuperNode:
|
|
|
|
def __init__(self,name,id):
|
|
self.name = name
|
|
self.id = id
|
|
|
|
class Raum(SuperNode):
|
|
|
|
def __init__(self,name,id,beschreibung):
|
|
|
|
super().__init__(name,id)
|
|
self.items ={}
|
|
self.personen = {}
|
|
self.beschreibung=beschreibung
|
|
self.pickupmsg = ''
|
|
self.ausgaenge = {
|
|
'0': '-1', # Nord
|
|
'1': '-1', # West
|
|
'2': '-1', # Sued
|
|
'3': '-1', # Ost
|
|
'4': '-1', # Rauf
|
|
'5': '-1', # Runter
|
|
}
|
|
|
|
def sucheRaumAusgang(self,richtung):
|
|
nachRaum = self.ausgaenge[richtung]
|
|
return nachRaum
|
|
|
|
def labelsPersonen(self):
|
|
labels = []
|
|
|
|
for persid in self.personen:
|
|
labels.append(self.personen[persid].name)
|
|
|
|
return labels
|
|
|
|
def labelsGegenstaende(self):
|
|
labels =[]
|
|
|
|
for itemid in self.items:
|
|
item = self.items[itemid]
|
|
logging.debug('labelsGegenstaende(): Item ' + self.items[itemid].name + ' ist ' + str(item.sichtbar))
|
|
if item.sichtbar:
|
|
if item.display != None:
|
|
labels.append(item.display)
|
|
else:
|
|
labels.append(item.name)
|
|
|
|
return labels
|
|
|
|
|
|
class Befehl(SuperNode):
|
|
def __init__(self,command,id,key):
|
|
super().__init__(command,id)
|
|
self.command = command
|
|
self.key = key
|
|
|
|
class Ausgang(SuperNode):
|
|
def __init__(name,id,nachRaum):
|
|
super(name,id)
|
|
self.nachRaum = nachRaum
|
|
self.richtung = name
|
|
|
|
class Gegenstand(SuperNode):
|
|
def __init__(self,name,id,raumid):
|
|
super().__init__(name,id)
|
|
self.raumid = raumid
|
|
self.zustand = 0
|
|
self.sichtbar = True
|
|
self.imobil = False
|
|
self.adjektiv = None
|
|
self.display = None
|
|
self.GESCHLOSSEN = 0
|
|
self.OFFEN = 1
|
|
self.zustand = self.GESCHLOSSEN
|
|
|
|
class Adjektiv(SuperNode):
|
|
def __init__(self,name, id,key):
|
|
super().__init__(name, id)
|
|
self.key = key
|
|
|
|
|
|
|
|
class Person(SuperNode):
|
|
def __init__(self, name,id,raum):
|
|
super().__init__(name,id)
|
|
self.raum = raum
|
|
self.bewegung = []
|
|
def __str__(self):
|
|
return self.name
|
|
|
|
class TextNode(SuperNode):
|
|
def __init__(self,id, text):
|
|
super().__init__(text, id)
|
|
|
|
def __str__(self):
|
|
return self.name
|
|
|