Visualizador de classificação de bolhas usando PyGame
Neste artigo, veremos como podemos visualizar o algoritmo de classificação de bolhas usando o PyGame, ou seja, quando o aplicativo pygame é iniciado, podemos ver as barras não classificadas com alturas diferentes e quando clicamos na tecla da barra de espaço, ele começa a ser organizado em forma de bolha, ou seja, após cada elemento de valor máximo de iteração deve vir por último.
Bubble Sort é um algoritmo simples usado para classificar um determinado conjunto de n elementos fornecidos na forma de uma matriz com n número de elementos. O Bubble Sort compara todos os elementos um por um e os classifica com base em seus valores.
Etapas de implementação:
1. Crie uma janela principal
2. Preencha a janela principal com a cor preta
3. Crie um método para mostrar a lista de barras com lacunas específicas entre elas
4. Obtenha a entrada de teclas do usuário
5. Se a barra de espaço for pressionada, inicie o processo de classificação
6. Implemente o algoritmo de classificação de bolhas na lista
7. Após cada iteração interna, preencha a tela com a cor preta e chame o método show para mostrar a lista iterada na forma de barra.
Abaixo está a implementação
import
pygame
pygame.init()
win
=
pygame.display.set_mode((
500
,
400
))
pygame.display.set_caption(
"Bubble sort"
)
x
=
40
y
=
40
width
=
20
height
=
[
200
,
50
,
130
,
90
,
250
,
61
,
110
,
88
,
33
,
80
,
70
,
159
,
180
,
20
]
run
=
True
def
show(height):
for
i
in
range
(
len
(height)):
pygame.draw.rect(win, (
255
,
0
,
0
), (x
+
30
*
i, y, width, height[i]))
while
run:
execute
=
False
pygame.time.delay(
10
)
keys
=
pygame.key.get_pressed()
for
event
in
pygame.event.get():
if
event.
type
=
=
pygame.QUIT:
run
=
False
if
keys[pygame.K_SPACE]:
execute
=
True
if
execute
=
=
False
:
win.fill((
0
,
0
,
0
))
show(height)
pygame.display.update()
else
:
for
i
in
range
(
len
(height)
-
1
):
for
j
in
range
(
len
(height)
-
i
-
1
):
if
height[j] > height[j
+
1
]:
t
=
height[j]
height[j]
=
height[j
+
1
]
height[j
+
1
]
=
t
win.fill((
0
,
0
,
0
))
show(height)
pygame.time.delay(
50
)
pygame.display.update()
pygame.quit()
Resultado :
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva