From cae7ab3beb302ed8d8b74fdbefabc7ea794e4e80 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Fri, 16 Oct 2020 16:46:40 +0200 Subject: [PATCH] Use Map interface in proof of concept --- dungeonbattle/proof_of_concept.py | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/dungeonbattle/proof_of_concept.py b/dungeonbattle/proof_of_concept.py index 046d687..fd3b85f 100644 --- a/dungeonbattle/proof_of_concept.py +++ b/dungeonbattle/proof_of_concept.py @@ -1,19 +1,15 @@ #!/usr/bin/env python +from .interfaces import Map from .term_manager import TermManager def proof_of_concept() -> None: - matrix = [] - with open("example_map.txt") as f: - for line in f.readlines(): - matrix.append(line[:-1]) + m = Map.load("example_map.txt") with TermManager() as term_manager: stdscr = term_manager.screen - for y in range(len(matrix)): - for x in range(len(matrix[0])): - stdscr.addstr(y, x, matrix[y][x]) + stdscr.addstr(0, 0, m.draw_string()) stdscr.refresh() cur = [1, 6] # (y,x) @@ -24,17 +20,17 @@ def proof_of_concept() -> None: key = stdscr.getkey() stdscr.addstr(cur[0], cur[1], '.') if key == 'z' or key == 'KEY_UP': - if cur[0] > 0 and matrix[cur[0] - 1][cur[1]] != '#': + if cur[0] > 0 and m.tiles[cur[0] - 1][cur[1]].value != '#': cur[0] = cur[0] - 1 if key == 's' or key == 'KEY_DOWN': - if cur[0] < len(matrix) - 1 and \ - matrix[cur[0] + 1][cur[1]] != '#': + if cur[0] < m.height - 1 and \ + m.tiles[cur[0] + 1][cur[1]].value != '#': cur[0] = cur[0] + 1 if key == 'q' or key == 'KEY_LEFT': - if cur[1] > 0 and matrix[cur[0]][cur[1] - 1] != '#': + if cur[1] > 0 and m.tiles[cur[0]][cur[1] - 1].value != '#': cur[1] = cur[1] - 1 if key == 'd' or key == 'KEY_RIGHT': - if cur[1] < len(matrix[0]) and \ - matrix[cur[0]][cur[1] + 1] != '#': + if cur[1] < m.width and \ + m.tiles[cur[0]][cur[1] + 1].value != '#': cur[1] = cur[1] + 1 stdscr.addstr(cur[0], cur[1], '@')