Flipping Tiles (Memory-Spiel) mit Python3
Flipping Tiles Spiel kann gespielt werden, um unser Gedächtnis zu testen. Darin haben wir eine bestimmte gerade Anzahl von Kacheln, in denen jede Zahl / Figur ein Paar hat. Die Kacheln zeigen nach unten und wir müssen sie umdrehen, um sie zu sehen. In einer Runde werden 2 Kacheln umgedreht. Wenn die Kacheln übereinstimmen, werden sie entfernt. Wenn nicht, werden sie umgedreht und wieder in die Position gebracht. Wir machen so lange weiter, bis alle Kacheln übereinstimmen und entfernt wurden.
Um dieses Spiel in Python zu simulieren, werden wir die Module Turtle und Random verwenden .
Ansatz:
- Importiere Schildkröte und Zufallsmodul. Python bietet das Zufallsmodul, mit dem Zufallszahlen generiert werden können, und das Turtle-Modul wird zum Erstellen verschiedener Objekte verwendet.
- Stellen Sie den Bildschirm ein und wählen Sie auch die Hintergrundfarbe Ihres Ausgabebildschirmfensters.
- Definieren Sie eine Funktion zum Erstellen eines Quadrats für die Basis Ihres Spiels.
- Definieren Sie eine Funktion, um die Indexnummer zu überprüfen.
- Definieren Sie eine Funktion, die Ihr Spiel benutzerfreundlich macht, dh Benutzer klicken.
- Schreiben Sie eine Funktion zum Zeichnen von Kacheln auf die in Schritt 3 definierte quadratische Basis.
- Verwenden Sie abschließend die Funktion shuffle(), um die Zahlen auf den quadratischen Kacheln im quadratischen Feld zu mischen.
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()
Ausgabe: