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: 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.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