criacao de metodo para devolver coordenadas da vizinhanca do agente

This commit is contained in:
2026-03-20 11:41:51 +00:00
parent b31c8807a3
commit 2b94ce41c3

View File

@ -59,3 +59,24 @@ class Agente:
if isinstance(self.personalidade, NoneType): if isinstance(self.personalidade, NoneType):
return None return None
return self.personalidade["memoria"] return self.personalidade["memoria"]
def vizinhanca(self) -> list[tuple[int, int]]:
vizinhanca: list[tuple[int, int]] = []
# devolver coordenadas das posiçoes relativas à posicao actual
# -1, -1
vizinhanca.append((self.posicao[0] - 1, self.posicao[1] - 1))
# 0, -1
vizinhanca.append((self.posicao[0], self.posicao[1] - 1))
# +1, -1
vizinhanca.append((self.posicao[0] + 1, self.posicao[1] - 1))
# -1, 0
vizinhanca.append((self.posicao[0] - 1, self.posicao[1]))
# +1, 0
vizinhanca.append((self.posicao[0] + 1, self.posicao[1]))
# -1, +1
vizinhanca.append((self.posicao[0] - 1, self.posicao[1] + 1))
# 0, +1
vizinhanca.append((self.posicao[0], self.posicao[1] + 1))
# +1, +1
vizinhanca.append((self.posicao[0] + 1, self.posicao[1] + 1))
return vizinhanca