Ich bin dabei meine ersten Programme in Python zu schreiben und lerne langsam aber stetig. Nun bin ich dabei das erste Spiel mit einer GUi zu versehen, jedoch öffnet sich das Spiel nicht und es wird auch kein Fehler angezeigt. Würde mich freuen wenn Ihr mir sagen könnten was vorliegt.
Code: Alles auswählen
import sys
import random
import time
import tkinter
hfenster = tkinter.Tk()
#Überschrift
u1 = tkinter.Label(hfenster,text="\n***********************************")
u2 = tkinter.Label(hfenster,text="* Schere | Stein | Papier *")
u3 = tkinter.Label(hfenster,text="***********************************\n")
u1.pack()
u2.pack()
u3.pack()
#Variablen
figuren = ("Schere", "Stein", "Papier")
spielen = True
#Funktionen
def handleButtonSchere(event):
spielerauswahl = 1
tfeld["text"] = "Du hast Schere gewaehlt."
def handleButtonStein(event):
spielerauswahl = 2
tfeld["text"] = "Du hast Stein gewaehlt."
def handleButtonPapier(event):
spielerauswahl = 3
tfeld["text"] = "Du hast Papier gewaehlt."
def handleButtonJa(event):
entscheidung = 1
def handleButtonNein(event):
entscheidung = 2
#Programm
while spielen:
tfeld = tkinter.Label(hfenster,text="Waehle eine Figur!")
#Spielerfigur auswaehlen
spielerauswahl = 0
while spielerauswahl not in (1,2,3):
buttonSchere = tkinter.Button(hfenster,text="Schere")
buttonSchere.pack()
buttonSchere.bind("<Button-1>", handleButtonSchere)
buttonStein = tkinter.Button(hfenster,text="Stein")
buttonStein.pack()
buttonStein.bind("<Button-1>", handleButtonStein)
buttonPapier = tkinter.Button(hfenster,text="Papier")
buttonPapier.pack()
buttonPapier.bind("<Button-1>", handleButtonPapier)
spielerfigur = figuren[spielerauswahl - 1]
#Warteschleife1
time.sleep(1)
tfeld["text"] = "Warte auf Computer..."
time.sleep(1.5)
tfeld["text"] = " ...Computer hat gewaehlt!"
time.sleep(1)
#Computerfigur auswaehlen
computerfigur = figuren[random.randint(0,2)]
#Sieger ermitteln
if spielerfigur == computerfigur:
tfeld["text"] = "Unentschieden! Computer waehlte", computerfigur
else:
if spielerfigur == "Schere":
if computerfigur == "Stein":
tfeld["text"] = "Verloren! Computer waehlte", computerfigur
else:
tfeld["text"] = "Gewonnen! Computer waehlte", computerfigur
if spielerfigur == "Stein":
if computerfigur == "Schere":
tfeld["text"] = "Gewonnen! Computer waehlte", computerfigur
else:
tfeld["text"] = "Verloren! Computer waehlte", computerfigur
if spielerfigur == "Papier":
if computerfigur == "Stein":
tfeld["text"] = "Gewonnen! Computer waehlte", computerfigur
else:
tfeld["text"] = "Verloren! Computer waehlte", computerfigur
#Wiederholung
time.sleep(2)
entscheidung = 0
while entscheidung not in (1,2):
nfenster = tkinter.Tk()
tfeldn = tkinter.Label(nfenster,text="Nochmal spielen?")
buttonJa = tkinter.Button(nfenster,text="Ja")
buttonJa.pack()
buttonJa.bind("<Button-1>", handleButtonJa)
buttonNein = tkinter.Button(nfenster,text="Nein")
buttonNein.pack()
buttonNein.bind("<Button-1>", handleButtonNein)
if entscheidung == 2:
spielen = False
elif entscheidung == 1:
spielen = True
hfenster.mainloop()
Liebe Grüße Flo