Farbspiel mit Tkinter in Python
Voraussetzung: Python GUI Tkinter
TKinter wird häufig zur Entwicklung von GUI-Anwendungen verwendet. Neben Anwendungen können wir auch die Tkinter-Benutzeroberfläche verwenden, um Spiele zu entwickeln.
Versuchen wir ein Spiel mit Tkinter zu machen. In diesem Spiel muss der Spieler die Farbe des Wortes eingeben, das auf dem Bildschirm angezeigt wird. Daher erhöht sich die Punktzahl um eins. Die Gesamtzeit für dieses Spiel beträgt 30 Sekunden. In diesem Spiel verwendete Farben sind Rot, Blau, Grün, Rosa, Schwarz, Gelb, Orange, Weiß, Lila und Braun. Die Benutzeroberfläche zeigt den Namen verschiedener Farben in verschiedenen Farben an. Der Spieler muss die Farbe identifizieren und den richtigen Farbnamen eingeben, um das Spiel zu gewinnen.
Unten ist die Implementierung des obigen Spiels:
import
tkinter
import
random
colours
=
[
'Red'
,
'Blue'
,
'Green'
,
'Pink'
,
'Black'
,
'Yellow'
,
'Orange'
,
'White'
,
'Purple'
,
'Brown'
]
score
=
0
timeleft
=
30
def
startGame(event):
if
timeleft
=
=
30
:
countdown()
nextColour()
def
nextColour():
global
score
global
timeleft
if
timeleft >
0
:
e.focus_set()
if
e.get().lower()
=
=
colours[
1
].lower():
score
+
=
1
e.delete(
0
, tkinter.END)
random.shuffle(colours)
label.config(fg
=
str
(colours[
1
]), text
=
str
(colours[
0
]))
scoreLabel.config(text
=
"Score: "
+
str
(score))
def
countdown():
global
timeleft
if
timeleft >
0
:
timeleft
-
=
1
timeLabel.config(text
=
"Time left: "
+
str
(timeleft))
timeLabel.after(
1000
, countdown)
root
=
tkinter.Tk()
root.title(
"COLORGAME"
)
root.geometry(
"375x200"
)
instructions
=
tkinter.Label(root, text
=
"Type in the colour"
"of the words, and not the word text!"
,
font
=
(
'Helvetica'
,
12
))
instructions.pack()
scoreLabel
=
tkinter.Label(root, text
=
"Press enter to start"
,
font
=
(
'Helvetica'
,
12
))
scoreLabel.pack()
timeLabel
=
tkinter.Label(root, text
=
"Time left: "
+
str
(timeleft), font
=
(
'Helvetica'
,
12
))
timeLabel.pack()
label
=
tkinter.Label(root, font
=
(
'Helvetica'
,
60
))
label.pack()
e
=
tkinter.Entry(root)
root.bind(
'<Return>'
, startGame)
e.pack()
e.focus_set()
root.mainloop()
Ausgabe :
Hinweis: Der oben genannte Code kann aufgrund des TKinter-Moduls möglicherweise nicht in der Online-IDE ausgeführt werden.