correção de apresentação de texto na janela
Definido cor de fundo para o texto (definido para preto, pygame.Color(0,0,0) )
This commit is contained in:
+14
-10
@@ -1,13 +1,14 @@
|
|||||||
import sys
|
|
||||||
import random
|
import random
|
||||||
|
import sys
|
||||||
from types import NoneType
|
from types import NoneType
|
||||||
|
|
||||||
import pygame as pg
|
import pygame as pg
|
||||||
from pygame.sprite import Sprite
|
from pygame.sprite import Sprite
|
||||||
from modules.agente import Agente
|
|
||||||
from modules.mapa import Mapa
|
|
||||||
import modules.estrategia as ModEstrategia
|
import modules.estrategia as ModEstrategia
|
||||||
import modules.interaccoes as ModInteraccoes
|
import modules.interaccoes as ModInteraccoes
|
||||||
|
from modules.agente import Agente
|
||||||
|
from modules.mapa import Mapa
|
||||||
|
|
||||||
# 0 para desactivar flags
|
# 0 para desactivar flags
|
||||||
# pg.FULLSCREEN para fullscreen mode
|
# pg.FULLSCREEN para fullscreen mode
|
||||||
@@ -15,6 +16,7 @@ flags = 0 # pg.FULLSCREEN
|
|||||||
sep_janelas: int = 10
|
sep_janelas: int = 10
|
||||||
# fonte a ser usada
|
# fonte a ser usada
|
||||||
caminho_fonte = pg.font.match_font("roboto")
|
caminho_fonte = pg.font.match_font("roboto")
|
||||||
|
# caminho_fonte = pg.font.SysFont("roboto", 10)
|
||||||
|
|
||||||
|
|
||||||
# classe ElementoUI para gerir elementos de interface (botoes, img, etc)
|
# classe ElementoUI para gerir elementos de interface (botoes, img, etc)
|
||||||
@@ -109,8 +111,8 @@ def devolveCor(agente: Agente) -> tuple[int, int, int, int]:
|
|||||||
|
|
||||||
def criarMapa(janela_app: pg.Surface, frame: Frame, mapa: Mapa) -> None:
|
def criarMapa(janela_app: pg.Surface, frame: Frame, mapa: Mapa) -> None:
|
||||||
lado: int = frame.tamanho[0] // mapa.dimensao[0]
|
lado: int = frame.tamanho[0] // mapa.dimensao[0]
|
||||||
for pos_y in range(0, mapa.dimensao[1]):
|
for pos_y in range(mapa.dimensao[1]):
|
||||||
for pos_x in range(0, mapa.dimensao[0]):
|
for pos_x in range(mapa.dimensao[0]):
|
||||||
agente: Agente | None = mapa.posicao((pos_x, pos_y))
|
agente: Agente | None = mapa.posicao((pos_x, pos_y))
|
||||||
cor = devolveCor(agente)
|
cor = devolveCor(agente)
|
||||||
quadrado: pg.Rect = pg.Rect(
|
quadrado: pg.Rect = pg.Rect(
|
||||||
@@ -123,8 +125,8 @@ def criarMapa(janela_app: pg.Surface, frame: Frame, mapa: Mapa) -> None:
|
|||||||
|
|
||||||
|
|
||||||
def popularMapa(mapa: Mapa) -> None:
|
def popularMapa(mapa: Mapa) -> None:
|
||||||
for pos_y in range(0, mapa.dimensao[0]):
|
for pos_y in range(mapa.dimensao[0]):
|
||||||
for pos_x in range(0, mapa.dimensao[1]):
|
for pos_x in range(mapa.dimensao[1]):
|
||||||
# escolher uma estrategia aleatoria
|
# escolher uma estrategia aleatoria
|
||||||
estrategia = random.choice(ModEstrategia.listaNomesEstrategias())
|
estrategia = random.choice(ModEstrategia.listaNomesEstrategias())
|
||||||
# criar Agente com estrategia aleatoria e colocar na posicao y e x
|
# criar Agente com estrategia aleatoria e colocar na posicao y e x
|
||||||
@@ -139,8 +141,8 @@ def prepararEstatistica(mapa: Mapa | None) -> dict[str, int]:
|
|||||||
n_total_agentes: int = 0
|
n_total_agentes: int = 0
|
||||||
for tipo_estrategia in ModEstrategia.lista_estrategias:
|
for tipo_estrategia in ModEstrategia.lista_estrategias:
|
||||||
stats_estrategias[tipo_estrategia] = 0
|
stats_estrategias[tipo_estrategia] = 0
|
||||||
for pos_y in range(0, mapa.dimensao[0]):
|
for pos_y in range(mapa.dimensao[0]):
|
||||||
for pos_x in range(0, mapa.dimensao[1]):
|
for pos_x in range(mapa.dimensao[1]):
|
||||||
tmp_agente = mapa.posicao((pos_y, pos_x))
|
tmp_agente = mapa.posicao((pos_y, pos_x))
|
||||||
stats_estrategias[tmp_agente.estrategia] += 1
|
stats_estrategias[tmp_agente.estrategia] += 1
|
||||||
n_total_agentes += 1
|
n_total_agentes += 1
|
||||||
@@ -158,6 +160,7 @@ def actualizarEstatisticas(janela: pg.Surface, frame: Frame, mapa: Mapa) -> None
|
|||||||
f"{strat}: {(strats[strat] / mapa.dimensao[0] ** 2) * 100:3.2f}",
|
f"{strat}: {(strats[strat] / mapa.dimensao[0] ** 2) * 100:3.2f}",
|
||||||
True,
|
True,
|
||||||
pg.Color(255, 255, 255),
|
pg.Color(255, 255, 255),
|
||||||
|
pg.Color(0, 0, 0),
|
||||||
)
|
)
|
||||||
janela.blit(
|
janela.blit(
|
||||||
strat_label,
|
strat_label,
|
||||||
@@ -180,6 +183,7 @@ def actualizarInfoPos(
|
|||||||
f"{mapa.posicao(pos).estrategia}@{pos}",
|
f"{mapa.posicao(pos).estrategia}@{pos}",
|
||||||
True,
|
True,
|
||||||
pg.Color(255, 255, 255),
|
pg.Color(255, 255, 255),
|
||||||
|
pg.Color(0, 0, 0, 0),
|
||||||
)
|
)
|
||||||
janela.blit(
|
janela.blit(
|
||||||
info_posicao,
|
info_posicao,
|
||||||
|
|||||||
Reference in New Issue
Block a user