galgen/galgenspiel.py

97 lines
2.6 KiB
Python

from galgenmaennchen import turtle, t, zeichenliste
from wortliste import wörter
import random
geheimwort = "und" # random.choice(wörter)
t.hideturtle()
linie = turtle.Pen()
linie.hideturtle()
bs = turtle.Pen()
bs.hideturtle()
geraten = ""
def linienzeichnen():
# Zeichne die Linien mit Buchstaben darauf, sollten diese schon erraten sein.
linie.home()
linie.clear() # Lösche die vorherigen tipps
for buchstabe in geheimwort:
linie.fd(15)
if buchstabe in geraten: # zeichne den Buchstaben nur, wenn er geraten wurde
linie.write(buchstabe, align="center", font="serif 12 bold")
linie.fd(15)
linie.up()
linie.fd(20)
linie.down()
def falsche_buchstaben():
bs.pu()
bs.clear()
bs.goto (100, -200)
nr = 0
for buchstabe in geraten:
if buchstabe not in geheimwort:
bs.write(buchstabe, True, align="center", font="serif 15")
bs.forward(20)
nr += 1
if nr % 4 == 0:
bs.goto(100, -250)
# zeichne einmal die linien. Ohne den folgenden Befehl würde die oben befindliche Funktion nicht ausgeführt.
linienzeichnen()
# gewonnen = "ja"
for grafik in zeichenliste[:2]:
gewonnen = "ja"
neugeraten = turtle.textinput("", "Welcher Buchstabe?")
while (neugeraten in geheimwort) and (neugeraten not in geraten):
#Wenn man richtig gerate hat frage erneut
geraten = geraten + neugeraten
gewonnen = "ja"
for buchstabe in geheimwort:
if buchstabe in geraten:
print("drin")
pass
else:
gewonnen = "nein"
if gewonnen == "ja":
linie.goto(0,-100)
linie.write("gewonnen")
break
print("right")
linienzeichnen()
neugeraten = turtle.textinput("", "Welcher Buchstabe?")
else:
# Wenn man falsch geraten hat.
gewonnen = "nein"
geraten = geraten + neugeraten
grafik()
falsche_buchstaben()
if gewonnen == "ja":
linie.goto(0,-100)
linie.write("gewonnen")
break
if gewonnen == "nein":
geraten += geheimwort
while True:
linie.color("red")
linienzeichnen()
linie.pu()
linie.goto(100, -50)
linie.write("Verloren", True, align="center", font="serif 15")
else:
while True:
linie.color("green")
linienzeichnen()
linie.pu()
linie.goto(100, -50)
linie.write("Gewonnen", True, align="center", font="serif 15")