no seguimento da 'agnostificação' da classe 'Mapa', adaptar o código para reflectir essas alterações
36 lines
1.2 KiB
Python
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=}')
|