Sanitizing data structure

This commit is contained in:
Charles Peyrat 2020-10-11 15:24:51 +02:00 committed by Nicolas Margulies
parent f3e42ae295
commit 2e82849395
1 changed files with 11 additions and 20 deletions

View File

@ -22,31 +22,22 @@ class Map:
lines = [line for line in lines if line] lines = [line for line in lines if line]
height = len(lines) height = len(lines)
width = len(lines[0]) width = len(lines[0])
chars = [[Tile.from_char(c, x, y) return Map(width, height, lines)
for x, c in enumerate(line)] for y, line in enumerate(lines)]
return Map(width, height, chars)
def draw_string(self) -> str: def draw_string(self) -> str:
return "\n".join("".join(tile.char for tile in line) for line in self.tiles) return "\n".join("".join(tile.char for tile in line) for line in self.tiles)
class Tile:
x: int
y: int
char: str
@staticmethod
def from_char(c: str, x: int, y: int):
t = Tile()
t.x = x
t.y = y
t.char = c
return c
class Entity: class Entity:
tile: Tile y: int
x: int
img: str
def __init__(self, y: int, x: int, img: str):
self.y = y
self.x = x
self.img = img
def move(self, x: int, y: int) -> None: def move(self, x: int, y: int) -> None:
self.tile.x = x self.x = x
self.tile.y = y self.y = y