From: Christian Heller Date: Fri, 13 Nov 2020 23:49:38 +0000 (+0100) Subject: Augment map display with thing amount info. X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/static/task?a=commitdiff_plain;h=f403ec1356ebb44a70efe60cc21de31e3dccd92c;p=plomrogue2 Augment map display with thing amount info. --- diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index f69153f..2207220 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -492,18 +492,23 @@ class TUI: for y in range(self.game.map_geometry.size.y): start = self.game.map_geometry.size.x * y end = start + self.game.map_geometry.size.x - map_lines_split += [list(map_content[start:end])] + map_lines_split += [[c + ' ' for c in map_content[start:end]]] if self.map_mode == 'terrain': + used_positions = [] for t in self.game.things: symbol = self.game.thing_types[t.type_] - map_lines_split[t.position.y][t.position.x] = symbol + if t.position in used_positions: + map_lines_split[t.position.y][t.position.x] = symbol + '+' + else: + map_lines_split[t.position.y][t.position.x] = symbol + ' ' + used_positions += [t.position] if self.mode.shows_info: - map_lines_split[self.explorer.y][self.explorer.x] = '?' + map_lines_split[self.explorer.y][self.explorer.x] = '??' map_lines = [] if type(self.game.map_geometry) == MapGeometryHex: indent = 0 for line in map_lines_split: - map_lines += [indent*' ' + ' '.join(line)] + map_lines += [indent*' ' + ''.join(line)] indent = 0 if indent else 1 else: for line in map_lines_split: diff --git a/rogue_chat_nocanvas_monochrome.html b/rogue_chat_nocanvas_monochrome.html index f978421..1f2ebe0 100644 --- a/rogue_chat_nocanvas_monochrome.html +++ b/rogue_chat_nocanvas_monochrome.html @@ -446,18 +446,24 @@ let tui = { line = []; j = 0; }; - line.push(map_content[i]); + line.push(map_content[i] + ' '); }; map_lines_split.push(line); if (this.map_mode == 'terrain') { + let used_positions = []; for (const thing_id in game.things) { let t = game.things[thing_id]; let symbol = game.thing_types[t.type_]; - map_lines_split[t.position[0]][t.position[1]] = symbol; + if (used_positions.includes(t.position.toString())) { + map_lines_split[t.position[0]][t.position[1]] = symbol + '+'; + } else { + map_lines_split[t.position[0]][t.position[1]] = symbol + ' '; + }; + used_positions.push(t.position.toString()); }; } if (tui.mode.shows_info) { - map_lines_split[explorer.position[0]][explorer.position[1]] = '?'; + map_lines_split[explorer.position[0]][explorer.position[1]] = '??'; } let map_lines = [] if (game.map_geometry == 'Square') { @@ -467,7 +473,7 @@ let tui = { } else if (game.map_geometry == 'Hex') { let indent = 0 for (let line_split of map_lines_split) { - map_lines.push(' '.repeat(indent) + line_split.join(' ')); + map_lines.push(' '.repeat(indent) + line_split.join('')); if (indent == 0) { indent = 1; } else {