permitir seleccionar e tirar selecção de quadrado do mapa
This commit is contained in:
@ -169,35 +169,34 @@ def main(mapa: Mapa | None, tamanho_mapa: tuple[int, int]):
|
|||||||
tamanho_quadrado = int(
|
tamanho_quadrado = int(
|
||||||
(janela.get_size()[1] - 20) / mapa.dimensao[0]
|
(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_x = int((pos_rato[0] - 10) / tamanho_quadrado)
|
||||||
pos_y = int((pos_rato[1] - 10) / tamanho_quadrado)
|
pos_y = int((pos_rato[1] - 10) / tamanho_quadrado)
|
||||||
if (
|
if pos_x >= mapa.dimensao[0] or pos_y >= mapa.dimensao[1]:
|
||||||
pos_x < 0
|
|
||||||
or pos_x >= mapa.dimensao[0]
|
|
||||||
or pos_y < 0
|
|
||||||
or pos_y >= mapa.dimensao[1]
|
|
||||||
):
|
|
||||||
continue
|
continue
|
||||||
quadrado_seleccionado = pg.Rect(
|
quadrado_novo = pg.Rect(
|
||||||
(pos_x * tamanho_quadrado) + 10,
|
(pos_x * tamanho_quadrado) + 10,
|
||||||
(pos_y * tamanho_quadrado) + 10,
|
(pos_y * tamanho_quadrado) + 10,
|
||||||
tamanho_quadrado,
|
tamanho_quadrado,
|
||||||
tamanho_quadrado,
|
tamanho_quadrado,
|
||||||
)
|
)
|
||||||
# agente = mapa.posicao((pos_x, pos_y))
|
if quadrado_novo == quadrado_seleccionado:
|
||||||
# print(f"{id(agente)}@{agente.posicao}")
|
quadrado_seleccionado = None
|
||||||
# print(f"{agente.estrategia}")
|
else:
|
||||||
|
quadrado_seleccionado = quadrado_novo
|
||||||
|
|
||||||
criarTabuleiro(janela, mapa)
|
criarTabuleiro(janela, mapa)
|
||||||
# criar surface para apresentar info
|
# criar surface para apresentar info
|
||||||
|
# mostrar dimensão do mapa
|
||||||
# mostrar borda da posicao seleccionado com o rato
|
# mostrar borda da posicao seleccionado com o rato
|
||||||
if quadrado_seleccionado:
|
if quadrado_seleccionado:
|
||||||
pg.draw.rect(
|
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 numero de iteração actual
|
||||||
# mostrar dimensão do mapa
|
|
||||||
# mostrar estatisticas
|
# mostrar estatisticas
|
||||||
|
# mostrar info de quadrado seleccionado (se algum)
|
||||||
pg.display.flip()
|
pg.display.flip()
|
||||||
clock.tick(60)
|
clock.tick(60)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user