map_lines_split[coordinate[0]][coordinate[1]] = original[0] + 'P';
}
let used_positions = [];
- for (const thing_id in game.things) {
- let t = game.things[thing_id];
+ function draw_thing(t, used_positions) {
let symbol = game.thing_types[t.type_];
let meta_char = ' ';
if (t.thing_char) {
};
map_lines_split[t.position[0]][t.position[1]] = symbol + meta_char;
used_positions.push(t.position.toString());
+ }
+ for (const thing_id in game.things) {
+ let t = game.things[thing_id];
+ if (t.type_ != 'Player') {
+ draw_thing(t, used_positions);
+ }
+ };
+ for (const thing_id in game.things) {
+ let t = game.things[thing_id];
+ if (t.type_ == 'Player') {
+ draw_thing(t, used_positions);
+ }
};
}
let player = game.things[game.player_id];
original = map_lines_split[p.y][p.x]
map_lines_split[p.y][p.x] = original[0] + 'P'
used_positions = []
- for t in self.game.things:
+
+ def draw_thing(t, used_positions):
symbol = self.game.thing_types[t.type_]
meta_char = ' '
if hasattr(t, 'thing_char'):
meta_char = '+'
map_lines_split[t.position.y][t.position.x] = symbol + meta_char
used_positions += [t.position]
+
+ for t in [t for t in self.game.things if t.type_ != 'Player']:
+ draw_thing(t, used_positions)
+ for t in [t for t in self.game.things if t.type_ == 'Player']:
+ draw_thing(t, used_positions)
player = self.game.get_thing(self.game.player_id)
if self.mode.shows_info or self.mode.name == 'control_tile_draw':
map_lines_split[self.explorer.y][self.explorer.x] = '??'