galgen/galgenspiel.py

97 lines
2.6 KiB
Python
Raw Normal View History

2021-02-05 09:55:06 +01:00
from galgenmaennchen import turtle, t, zeichenliste
2021-02-05 12:14:52 +01:00
from wortliste import wörter
import random
geheimwort = "und" # random.choice(wörter)
2021-02-05 09:34:55 +01:00
t.hideturtle()
2021-02-05 12:14:52 +01:00
2021-02-05 09:34:55 +01:00
linie = turtle.Pen()
linie.hideturtle()
2021-02-05 12:14:52 +01:00
bs = turtle.Pen()
bs.hideturtle()
2021-02-05 10:57:06 +01:00
geraten = ""
def linienzeichnen():
2021-02-05 12:14:52 +01:00
# Zeichne die Linien mit Buchstaben darauf, sollten diese schon erraten sein.
2021-02-05 10:57:06 +01:00
linie.home()
2021-02-05 12:14:52 +01:00
linie.clear() # Lösche die vorherigen tipps
2021-02-05 10:57:06 +01:00
for buchstabe in geheimwort:
linie.fd(15)
2021-02-05 12:14:52 +01:00
if buchstabe in geraten: # zeichne den Buchstaben nur, wenn er geraten wurde
2021-02-05 10:57:06 +01:00
linie.write(buchstabe, align="center", font="serif 12 bold")
linie.fd(15)
linie.up()
linie.fd(20)
linie.down()
2021-02-05 12:14:52 +01:00
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)
2021-02-05 09:34:55 +01:00
2021-02-05 12:14:52 +01:00
# 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]:
2021-02-05 10:57:06 +01:00
gewonnen = "ja"
neugeraten = turtle.textinput("", "Welcher Buchstabe?")
while (neugeraten in geheimwort) and (neugeraten not in geraten):
2021-02-05 11:29:40 +01:00
#Wenn man richtig gerate hat frage erneut
2021-02-05 10:57:06 +01:00
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:
2021-02-05 11:29:40 +01:00
# Wenn man falsch geraten hat.
gewonnen = "nein"
2021-02-05 10:57:06 +01:00
geraten = geraten + neugeraten
grafik()
2021-02-05 12:14:52 +01:00
falsche_buchstaben()
2021-02-05 10:57:06 +01:00
if gewonnen == "ja":
linie.goto(0,-100)
linie.write("gewonnen")
break
2021-02-05 12:14:52 +01:00
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")