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
Fix reproducibility bug due to unstable iteration order.
[plomrogue2-experiments]
/
new
/
plomrogue
/
things.py
diff --git
a/new/plomrogue/things.py
b/new/plomrogue/things.py
index 243547b2ffb854b330fcb998a27882d8ecda2ef9..9bc84907bb757fe0251b47ca7808f1d64cebe4a2 100644
(file)
--- a/
new/plomrogue/things.py
+++ b/
new/plomrogue/things.py
@@
-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