home
·
contact
·
privacy
projects
/
plomrogue2-experiments
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use tuples for positions; fix inventory saving bug.
[plomrogue2-experiments]
/
new
/
plomrogue
/
things.py
diff --git
a/new/plomrogue/things.py
b/new/plomrogue/things.py
index 243547b2ffb854b330fcb998a27882d8ecda2ef9..a631b174f9292dde5ab047b98836bd2820939137 100644
(file)
--- a/
new/plomrogue/things.py
+++ b/
new/plomrogue/things.py
@@
-5,7
+5,7
@@
from plomrogue.errors import GameError
class ThingBase:
type_ = '?'
class ThingBase:
type_ = '?'
- def __init__(self, world, id_=None, position=
[0,0]
):
+ def __init__(self, world, id_=None, position=
(0,0)
):
self.world = world
self.position = position
if id_ is None:
self.world = world
self.position = position
if id_ is None:
@@
-17,6
+17,11
@@
class ThingBase:
class Thing(ThingBase):
blocking = False
class Thing(ThingBase):
blocking = False
+ in_inventory = False
+
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.inventory = []
def proceed(self):
pass
def proceed(self):
pass
@@
-58,7
+63,7
@@
class ThingAnimate(Thing):
neighbors = dijkstra_map.get_neighbors(tuple(self.position))
n = n_max
target_direction = None
neighbors = dijkstra_map.get_neighbors(tuple(self.position))
n = n_max
target_direction = None
- for direction in
neighbors
:
+ for direction in
sorted(neighbors.keys())
:
yx = neighbors[direction]
if yx is not None:
n_new = dijkstra_map[yx]
yx = neighbors[direction]
if yx is not None:
n_new = dijkstra_map[yx]
@@
-140,7
+145,7
@@
class ThingAnimate(Thing):
stencil = self.get_stencil()
visible_things = []
for thing in self.world.things:
stencil = self.get_stencil()
visible_things = []
for thing in self.world.things:
- if stencil[thing.position] == '.':
+ if
(not thing.in_inventory) and
stencil[thing.position] == '.':
visible_things += [thing]
return visible_things
visible_things += [thing]
return visible_things