From 190fe7a7c47cf6c07ca6051eeb2280e0b3b49c62 Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Mon, 26 Oct 2026 11:59:23 +0000 Subject: [PATCH] =?UTF-8?q?introduzir=20gera=C3=A7=C3=A3o=20de=20mapas=20d?= =?UTF-8?q?eterministicos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Na função 'popularMapa()' introduzimos o parametro 'semente' que aceita um inteiro, que será usado para inicializar o gerador de pRNG. Desta forma introduzimos um elemento deterministico na aleatoriedade da função, gerando mapas com população determinada por esta 'semente'. --- game_theory_of_life.py | 3 ++- modules/gui.py | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/game_theory_of_life.py b/game_theory_of_life.py index 5cd84e0..45ef008 100644 --- a/game_theory_of_life.py +++ b/game_theory_of_life.py @@ -3,6 +3,7 @@ import modules.gui as Gui from modules.mapa import Mapa tamanho_mundo: tuple[int, int] = (8, 8) +semente: int | None = 42 # alterar semente para gerar mapas deterministicos ModEstrategia.carregarFicheirosEstrategias("strategies/") @@ -10,7 +11,7 @@ ModEstrategia.carregarFicheirosEstrategias("strategies/") mapa = Mapa(tamanho_mundo) # popular mapa com Agentes -Gui.popularMapa(mapa) +Gui.popularMapa(mapa, semente) # Gui.App(mapa) Gui.main(mapa, tamanho_mundo) diff --git a/modules/gui.py b/modules/gui.py index 1ade66e..8f8fb30 100644 --- a/modules/gui.py +++ b/modules/gui.py @@ -124,7 +124,10 @@ def criarMapa(janela_app: pg.Surface, frame: Frame, mapa: Mapa) -> None: pg.draw.rect(janela_app, cor, quadrado, 0) -def popularMapa(mapa: Mapa) -> None: +def popularMapa(mapa: Mapa, semente: int | None = None) -> None: + if semente is None: + semente = 1 + random.seed(semente) for pos_y in range(mapa.dimensao[0]): for pos_x in range(mapa.dimensao[1]): # escolher uma estrategia aleatoria