diff --git a/modules/gui.py b/modules/gui.py index baebd26..1d21e19 100644 --- a/modules/gui.py +++ b/modules/gui.py @@ -2,6 +2,7 @@ import sys import random from types import NoneType import pygame as pg +from pygame.sprite import Sprite from modules.agente import Agente from modules.mapa import Mapa import modules.estrategia as ModEstrategia @@ -16,6 +17,13 @@ sep_janelas: int = 10 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 class Frame: def __init__( @@ -224,16 +232,14 @@ def mostrarFrameAccoes(janela: pg.Surface, frm: Frame) -> None: img_restart, ( frm.posicao[0] + ((sep_janelas + img_stop.get_size()[0]) * 3), - frm.posicao[1] + - ((frm.tamanho[1] - img_restart.get_size()[1]) / 2), + frm.posicao[1] + ((frm.tamanho[1] - img_restart.get_size()[1]) / 2), ), ) janela.blit( img_settings, ( frm.posicao[0] + ((sep_janelas + img_restart.get_size()[0]) * 5), - frm.posicao[1] + - ((frm.tamanho[1] - img_settings.get_size()[1]) / 2), + frm.posicao[1] + ((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) mapa = Mapa(tamanho_mapa) popularMapa(mapa) + quadrado_seleccionado = None + frm_info_pos.desenhar(janela, 5, 10) # correr proxima iteração com 'n' (next) if event.key == pg.K_n: ModInteraccoes.correrInteraccoesEntreAgentes(mapa) @@ -288,6 +296,8 @@ def main(mapa: Mapa | None, tamanho_mapa: tuple[int, int]): if event.key == pg.K_r: mapa = Mapa(tamanho_mapa) popularMapa(mapa) + quadrado_seleccionado = None + frm_info_pos.desenhar(janela, 5, 10) if event.type == pg.MOUSEBUTTONDOWN: # botao 1 do rato clicado, seleccionar ou tirar selecao if pg.mouse.get_pressed(num_buttons=3)[0]: