From 95ee241b4165d11c8998936ecd7f8c90aa59cdfd Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Fri, 13 Sep 2024 02:31:25 +0100 Subject: [PATCH] =?UTF-8?q?adicionada=20funcionalidade=20de=20carregar=20f?= =?UTF-8?q?icheiros=20JSON=20com=20estrat=C3=A9gias?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/estrategia.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/modules/estrategia.py b/modules/estrategia.py index 9cedc1d..d234ca2 100644 --- a/modules/estrategia.py +++ b/modules/estrategia.py @@ -1,5 +1,7 @@ # definição de classe Estrategia from enum import Enum +import json +import os class TiposEstrategia(Enum): @@ -11,14 +13,22 @@ class TiposEstrategia(Enum): # lista de estratégias. cada entrada é um dicionário com -lista_estrategias: list[dict] = [] +lista_estrategias: dict = {} -def carregarFicheiroEstrategias(caminho_ficheiro: str) -> list[dict]: - lista: list = [] - return lista +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) -class Estrategia(): - def __init__(self, estrategia: TiposEstrategia): - pass +def listaNomesEstrategias() -> list: + return list(lista_estrategias.keys()) + + +def devolvePersonalidade(nome_estrategia: str) -> dict[str, float] | None: + personalidade: dict[str, float] | None = lista_estrategias.get( + nome_estrategia) + return personalidade