home · contact · privacy
Dynamically decide new Thing IDs.
[plomrogue2-experiments] / new / plomrogue / things.py
index 2decc6709f747113e888edc9327f406c8e43739c..243547b2ffb854b330fcb998a27882d8ecda2ef9 100644 (file)
@@ -5,14 +5,31 @@ from plomrogue.errors import GameError
 class ThingBase:
     type_ = '?'
 
-    def __init__(self, world, id_, position=[0,0]):
+    def __init__(self, world, id_=None, position=[0,0]):
         self.world = world
-        self.id_ = id_
         self.position = position
+        if id_ is None:
+            self.id_ = self.world.new_thing_id()
+        else:
+            self.id_ = id_
 
 
 
 class Thing(ThingBase):
+    blocking = False
+
+    def proceed(self):
+        pass
+
+
+
+class ThingItem(Thing):
+    type_ = 'item'
+
+
+
+class ThingAnimate(Thing):
+    blocking = True
 
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
@@ -129,10 +146,10 @@ class Thing(ThingBase):
 
 
 
-class ThingHuman(Thing):
+class ThingHuman(ThingAnimate):
     type_ = 'human'
 
 
 
-class ThingMonster(Thing):
+class ThingMonster(ThingAnimate):
     type_ = 'monster'