Files
game_theory_of_life/game_theory_of_life.py
Luis Rodrigues b70cde25d1 adaptar código de teste para acomodar alterações da classe 'Mapa'
no seguimento da 'agnostificação' da classe 'Mapa', adaptar o código
para reflectir essas alterações
2024-09-13 10:19:22 +01:00

36 lines
1.2 KiB
Python

import random
from modules.agente import Agente
import modules.gui as Gui
from modules.mapa import Mapa
import modules.estrategia as ModEstrategia
tamanho_mundo: tuple[int, int] = (30, 30)
ModEstrategia.carregarFicheirosEstrategias('strategies/')
# criar mapa com tamanho_mundo
mapa = Mapa(tamanho_mundo)
# popular mapa com Agentes
for pos_y in range(0, mapa.dimensao[0]):
for pos_x in range(0, mapa.dimensao[1]):
# escolher uma estrategia aleatoria
tmp_estrategia = random.choice(ModEstrategia.listaNomesEstrategias())
# criar Agente com estrategia aleatoria e colocar na posicao y e x
mapa.mundo[pos_y][pos_x] = Agente(tmp_estrategia)
# mostrar mapa com pontuação em cada posição
for pos_y in range(0, mapa.dimensao[0]):
for pos_x in range(0, mapa.dimensao[1]):
tmp_agente: Agente | None = mapa.posicao((pos_y, pos_x))
if tmp_agente is not None:
print(f"{tmp_agente.estrategia[0]:2}", end='')
print("")
# Gui.App()
print(mapa)
pos_y = random.randint(0, tamanho_mundo[0]-1)
pos_x = random.randint(0, tamanho_mundo[1]-1)
obj_agente: Agente | None = mapa.posicao((pos_y, pos_x))
if obj_agente is not None:
print(obj_agente)
print(f'{pos_y=} {pos_x=}')