# funções associadas a operações com o Mapa from modules import agente from modules.agente import Agente class Mapa: dimensao: tuple[int, int] mundo: list def __init__(self, dimensao: tuple[int, int]): self.mundo = [] self.dimensao = dimensao self.mundo = self.inicializar() 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()) self.mundo.append(mundo_tmp) return self.mundo def mostrar(self) -> None: # mostrar mundo 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('') def posicao(self, posicao: tuple[int, int]) -> Agente | None: # verificar limites if posicao[0] > self.dimensao[0] or posicao[0] < 0: return None if posicao[1] > self.dimensao[1] or posicao[1] < 0: return None return self.mundo[posicao[0]][posicao[1]]