corrigir pequena falha que continua a apresentar info no frm_info_pos depois de fazer refresh ao mapa ou alterar a dimensão do mapa

This commit is contained in:
2026-04-04 21:43:03 +01:00
parent 582b23827b
commit d6daa2ef49

View File

@ -2,6 +2,7 @@ import sys
import random import random
from types import NoneType from types import NoneType
import pygame as pg import pygame as pg
from pygame.sprite import Sprite
from modules.agente import Agente from modules.agente import Agente
from modules.mapa import Mapa from modules.mapa import Mapa
import modules.estrategia as ModEstrategia import modules.estrategia as ModEstrategia
@ -16,6 +17,13 @@ sep_janelas: int = 10
caminho_fonte = pg.font.match_font("roboto") caminho_fonte = pg.font.match_font("roboto")
# classe ElementoUI para gerir elementos de interface (botoes, img, etc)
class ElementoUI(Sprite):
def __init__(self):
Sprite.__init__(self)
self.pos: tuple[int, int]
# classe Frame para gerir diferentes frames dentro da janela principal # classe Frame para gerir diferentes frames dentro da janela principal
class Frame: class Frame:
def __init__( def __init__(
@ -224,16 +232,14 @@ def mostrarFrameAccoes(janela: pg.Surface, frm: Frame) -> None:
img_restart, img_restart,
( (
frm.posicao[0] + ((sep_janelas + img_stop.get_size()[0]) * 3), frm.posicao[0] + ((sep_janelas + img_stop.get_size()[0]) * 3),
frm.posicao[1] + frm.posicao[1] + ((frm.tamanho[1] - img_restart.get_size()[1]) / 2),
((frm.tamanho[1] - img_restart.get_size()[1]) / 2),
), ),
) )
janela.blit( janela.blit(
img_settings, img_settings,
( (
frm.posicao[0] + ((sep_janelas + img_restart.get_size()[0]) * 5), frm.posicao[0] + ((sep_janelas + img_restart.get_size()[0]) * 5),
frm.posicao[1] + frm.posicao[1] + ((frm.tamanho[1] - img_settings.get_size()[1]) / 2),
((frm.tamanho[1] - img_settings.get_size()[1]) / 2),
), ),
) )
@ -281,6 +287,8 @@ def main(mapa: Mapa | None, tamanho_mapa: tuple[int, int]):
tamanho_mapa = (novo_tamanho, novo_tamanho) tamanho_mapa = (novo_tamanho, novo_tamanho)
mapa = Mapa(tamanho_mapa) mapa = Mapa(tamanho_mapa)
popularMapa(mapa) popularMapa(mapa)
quadrado_seleccionado = None
frm_info_pos.desenhar(janela, 5, 10)
# correr proxima iteração com 'n' (next) # correr proxima iteração com 'n' (next)
if event.key == pg.K_n: if event.key == pg.K_n:
ModInteraccoes.correrInteraccoesEntreAgentes(mapa) ModInteraccoes.correrInteraccoesEntreAgentes(mapa)
@ -288,6 +296,8 @@ def main(mapa: Mapa | None, tamanho_mapa: tuple[int, int]):
if event.key == pg.K_r: if event.key == pg.K_r:
mapa = Mapa(tamanho_mapa) mapa = Mapa(tamanho_mapa)
popularMapa(mapa) popularMapa(mapa)
quadrado_seleccionado = None
frm_info_pos.desenhar(janela, 5, 10)
if event.type == pg.MOUSEBUTTONDOWN: if event.type == pg.MOUSEBUTTONDOWN:
# botao 1 do rato clicado, seleccionar ou tirar selecao # botao 1 do rato clicado, seleccionar ou tirar selecao
if pg.mouse.get_pressed(num_buttons=3)[0]: if pg.mouse.get_pressed(num_buttons=3)[0]: