Files
game_theory_of_life/modules/agente.py
Luis Rodrigues 4d1505a63f alterada interação com tecla c (change)
agora a tecla c (change) permite alterar o tamanho do mapa. para fazer
reset, usa-se agora a tecla 'r' (reset)
2025-03-22 21:55:45 +00:00

49 lines
1.4 KiB
Python

from types import NoneType
import modules.estrategia as ModEstrategia
class Agente:
# traços de personalidade
personalidade: dict[str, float] = {
"amabilidade": 0.0,
"retaliacao": 0.0,
"perdao": 0.0,
"coerencia": 0.0,
"memoria": 0.0,
}
pontuacao: int = 0
estrategia: str | None = None
id_agente: int = 0
banco_memoria: dict[int, list] = {}
def __init__(self, estrategia: str):
# definir estrategia aleatoriamente
self.estrategia = estrategia
# definir personalidade com base na estratégia
self.personalidade = ModEstrategia.devolvePersonalidade(
self.estrategia)
# identificador de agente
self.id_agente = id(self)
self.pontuacao = 0
def __str__(self):
return f"Dados Agente ({self.id_agente})\n \
\testrategia: {self.estrategia}\n \
\t\tpersonalidade: {self.personalidade}\n \
\tpontução: {self.pontuacao}"
def amabilidade(self) -> float:
return self.personalidade["amabilidade"]
def retaliacao(self) -> float:
return self.personalidade["retaliacao"]
def perdao(self) -> float:
return self.personalidade["perdao"]
def coerencia(self) -> float:
return self.personalidade["coerencia"]
def memoria(self) -> float:
return self.personalidade["memoria"]