From 6ae15d3002dce9b5494652063ba66518b5d80084 Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Fri, 13 Sep 2024 10:17:54 +0100 Subject: [PATCH] agnosticar classe 'Mapa' dos objectos que preenchem o mapa --- modules/mapa.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/mapa.py b/modules/mapa.py index 1c44aee..a5fe0cb 100644 --- a/modules/mapa.py +++ b/modules/mapa.py @@ -7,26 +7,30 @@ import modules.estrategia as ModEstrategia class Mapa: + ''' definição de classe Mapa, que descreve um mapa com dimensão 'dimensao'. + a representação desse mapa fica guardado em 'mundo', que é uma lista de + listas, e cada posição guarda um objecto 'Agente' + ''' dimensao: tuple[int, int] mundo: list + id_mapa: int def __init__(self, dimensao: tuple[int, int], aleatorio: bool = False): self.mundo = [] self.dimensao = dimensao - self.mundo = self.inicializar(aleatorio=aleatorio) + self.mundo = self.inicializar() self.id_mapa = id(self) def __str__(self): return f'Dados Mapa ({self.id_mapa})\n \ \tdimensao: {self.dimensao[0]} x {self.dimensao[1]}' - def inicializar(self, aleatorio: bool = False) -> list: - nomes_estrategias = ModEstrategia.listaNomesEstrategias() + def inicializar(self) -> list: # inicializar mundo for _ in range(0, self.dimensao[0]): mundo_tmp: list = [] for _ in range(0, self.dimensao[1]): - mundo_tmp.append(Agente(random.choice(nomes_estrategias))) + mundo_tmp.append(None) self.mundo.append(mundo_tmp) return self.mundo @@ -35,10 +39,12 @@ class Mapa: m, n = 0, 0 for m in range(0, self.dimensao[0]): for n in range(0, self.dimensao[1]): - print(f'{self.mundo[m][n].pontuacao:2} ', end='') + print(f'{self.mundo[m][n]}', end='') print('') def posicao(self, posicao: tuple[int, int]) -> Agente | None: + ''' devolver objecto que está na 'posicao' + ''' # verificar limites if posicao[0] > self.dimensao[0] or posicao[0] < 0: return None