# 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, dict[str, float]] = {} def carregarFicheirosEstrategias(pasta_estrategias: str) -> None: lista_ficheiros: list[str] = 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[str]: return list(lista_estrategias.keys()) def devolvePersonalidade(nome_estrategia: str | None) -> dict[str, float] | None: if isinstance(nome_estrategia, NoneType): raise ValueError("estratégia {nome_estrategia=} não é válida") personalidade: dict[str, float] | None = lista_estrategias.get(nome_estrategia) return personalidade