home
·
contact
·
privacy
projects
/
plomrogue2
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make some things block movement, and others not.
[plomrogue2]
/
plomrogue
/
things.py
diff --git
a/plomrogue/things.py
b/plomrogue/things.py
index ee0d501be22258e69d287da986f8c1bf4d65e978..d1fc7110b8bba8ca32baeeb1105d69b4c43c880b 100644
(file)
--- a/
plomrogue/things.py
+++ b/
plomrogue/things.py
@@
-6,9
+6,9
@@
from plomrogue.mapping import YX
class ThingBase:
type_ = '?'
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
self.game = game
- if id_
is None
:
+ if id_
== 0
:
self.id_ = self.game.new_thing_id()
else:
self.id_ = id_
self.id_ = self.game.new_thing_id()
else:
self.id_ = id_
@@
-17,6
+17,7
@@
class ThingBase:
class Thing(ThingBase):
class Thing(ThingBase):
+ blocking = False
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@
-24,9
+25,22
@@
class Thing(ThingBase):
def proceed(self):
pass
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_Stone(Thing):
+ symbol_hint = 'o'
class ThingAnimate(Thing):
class ThingAnimate(Thing):
+ blocking = True
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@@
-88,8
+102,8
@@
class ThingAnimate(Thing):
-class ThingPlayer(ThingAnimate):
-
type_ = 'player
'
+class Thing
_
Player(ThingAnimate):
+
symbol_hint = '@
'
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)