Files
game_theory_of_life/modules/estrategia.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

38 lines
1.1 KiB
Python

# definição de classe Estrategia
from enum import Enum
import json
import os
from types import NoneType
class TiposEstrategia(Enum):
ALEATORIO = 0
NEUTRO = 1
TIT4TAT = 2
VINGATIVO = 3
LUNATICO = 4
# lista de estratégias. cada entrada é um dicionário com nome de estratégia
# e respectivos tracos de personalidade
lista_estrategias: dict[str, float] = {}
def carregarFicheirosEstrategias(pasta_estrategias: str) -> None:
lista_ficheiros: list = os.listdir(pasta_estrategias)
for ficheiro_json in lista_ficheiros:
with open(f"{pasta_estrategias}/{ficheiro_json}", "r") as ficheiro:
dados = json.load(ficheiro)
lista_estrategias.update(dados)
def listaNomesEstrategias() -> list:
return list(lista_estrategias.keys())
def devolvePersonalidade(nome_estrategia: str | None) -> dict[str, float]:
if isinstance(nome_estrategia, NoneType):
raise ValueError("estratégia {nome_estrategia=} não é válida")
personalidade: dict[str, float] = lista_estrategias.get(nome_estrategia)
return personalidade