Flipping Tiles (jogo de memória) usando Python3
O jogo de virar as peças pode ser jogado para testar nossa memória. Neste, temos um certo número par de peças, em que cada número / figura tem um par. Os ladrilhos estão voltados para baixo e temos que virá-los para vê-los. Por sua vez, vira-se 2 peças; se as peças combinarem, são removidas. Caso contrário, eles são invertidos e colocados de volta na posição. Continuamos fazendo isso até que todas as peças tenham sido combinadas e removidas.
Para simular este jogo em Python, usaremos os módulos tartaruga e aleatório .
Abordagem:
- Importar tartaruga e módulo aleatório. Python oferece o módulo aleatório que pode gerar números aleatórios, e o módulo tartaruga está sendo usado para fazer diferentes objetos.
- Defina a tela e também escolha a cor de fundo da janela da tela de saída.
- Defina uma função para fazer um quadrado para a base do seu jogo.
- Defina uma função para manter uma verificação do número do índice.
- Defina uma função para tornar seu jogo amigável, ou seja, clique do usuário.
- Escreva uma função para desenhar ladrilhos na base quadrada definida na etapa 3.
- Finalmente, use a função shuffle() para embaralhar os números colocados nas peças quadradas da caixa quadrada.
from
random
import
*
from
turtle
import
*
screen
=
Screen()
screen.bgcolor(
"yellow"
)
def
Square(x, y):
up()
goto(x, y)
down()
color(
'white'
,
'green'
)
begin_fill()
for
count
in
range
(
4
):
forward(
50
)
left(
90
)
end_fill()
def
Numbering(x, y):
return
int
((x
+
200
)
/
/
50
+
((y
+
200
)
/
/
50
)
*
8
)
def
Coordinates(count):
return
(count
%
8
)
*
50
-
200
, (count
/
/
8
)
*
50
-
200
def
click(x, y):
spot
=
Numbering(x, y)
mark
=
state[
'mark'
]
if
mark
is
None
or
mark
=
=
spot
or
tiles[mark] !
=
tiles[spot]:
state[
'mark'
]
=
spot
else
:
hide[spot]
=
False
hide[mark]
=
False
state[
'mark'
]
=
None
def
draw():
clear()
goto(
0
,
0
)
stamp()
for
count
in
range
(
64
):
if
hide[count]:
x, y
=
Coordinates(count)
Square(x, y)
mark
=
state[
'mark'
]
if
mark
is
not
None
and
hide[mark]:
x, y
=
Coordinates(mark)
up()
goto(x
+
2
, y)
color(
'black'
)
write(tiles[mark], font
=
(
'Arial'
,
30
,
'normal'
))
update()
ontimer(draw,
10
)
tiles
=
list
(
range
(
32
))
*
2
state
=
{
'mark'
:
None
}
hide
=
[
True
]
*
64
shuffle(tiles)
tracer(
False
)
onscreenclick(click)
draw()
done()
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