From 88c71ec6fccc6c3cd29189d1321ef79dddeaa611 Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Tue, 24 Mar 2026 16:16:52 +0000 Subject: [PATCH] =?UTF-8?q?permitir=20seleccionar=20e=20tirar=20selec?= =?UTF-8?q?=C3=A7=C3=A3o=20de=20quadrado=20do=20mapa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/gui.py | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/modules/gui.py b/modules/gui.py index fddc1ee..4ad02c3 100644 --- a/modules/gui.py +++ b/modules/gui.py @@ -169,35 +169,34 @@ def main(mapa: Mapa | None, tamanho_mapa: tuple[int, int]): tamanho_quadrado = int( (janela.get_size()[1] - 20) / mapa.dimensao[0] ) + if pos_rato[0] < 10 or pos_rato[1] < 10: + continue pos_x = int((pos_rato[0] - 10) / tamanho_quadrado) pos_y = int((pos_rato[1] - 10) / tamanho_quadrado) - if ( - pos_x < 0 - or pos_x >= mapa.dimensao[0] - or pos_y < 0 - or pos_y >= mapa.dimensao[1] - ): + if pos_x >= mapa.dimensao[0] or pos_y >= mapa.dimensao[1]: continue - quadrado_seleccionado = pg.Rect( + quadrado_novo = pg.Rect( (pos_x * tamanho_quadrado) + 10, (pos_y * tamanho_quadrado) + 10, tamanho_quadrado, tamanho_quadrado, ) - # agente = mapa.posicao((pos_x, pos_y)) - # print(f"{id(agente)}@{agente.posicao}") - # print(f"{agente.estrategia}") + if quadrado_novo == quadrado_seleccionado: + quadrado_seleccionado = None + else: + quadrado_seleccionado = quadrado_novo criarTabuleiro(janela, mapa) # criar surface para apresentar info + # mostrar dimensão do mapa # mostrar borda da posicao seleccionado com o rato if quadrado_seleccionado: pg.draw.rect( - janela, pg.Color(0, 0, 0), quadrado_seleccionado, 10, border_radius=10 + janela, pg.Color(0, 0, 0), quadrado_seleccionado, 10, border_radius=20 ) # mostrar numero de iteração actual - # mostrar dimensão do mapa # mostrar estatisticas + # mostrar info de quadrado seleccionado (se algum) pg.display.flip() clock.tick(60)