class ThingBase:
type_ = '?'
- def __init__(self, game, id_=None, position=(YX(0,0))):
+ def __init__(self, game, id_=0, position=(YX(0,0))):
self.game = game
- if id_ is None:
+ if id_ == 0:
self.id_ = self.game.new_thing_id()
else:
self.id_ = id_
class Thing(ThingBase):
+ blocking = False
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def proceed(self):
pass
+ @property
+ def type_(self):
+ return self.__class__.get_type()
+
+ @classmethod
+ def get_type(cls):
+ return cls.__name__[len('Thing_'):]
+
+
+
+class Thing_Item(Thing):
+ symbol_hint = 'i'
+
+
+
+class Thing_Furniture(Thing):
+ symbol_hint = 'h'
+
class ThingAnimate(Thing):
+ blocking = True
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
-class ThingPlayer(ThingAnimate):
- type_ = 'player'
+class Thing_Player(ThingAnimate):
+ symbol_hint = '@'
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
- self.nickname = 'undefined'
+ self.carrying = None