Ich bin noch ein ziemlicher Frischling in Python und versuche momentan alles was ich mir beibringe, in einem Hangman-artigen Spiel unterzubringen. Das hat bisher erstaunlich gut geklappt und hat mich sehr motiviert. (Warum ich Python lernen möchte? Ich brauche irgendwie geistige Herausforderungen neben meinem Studium...) Nun bin ich aber auf ein Problem gestoßen, dass ich bisher leider nicht selbst lösen konnte. Ich möchte gerne, dass das Wort, das zu erraten ist, nicht in der Shell angezeigt wird. Das Spiel ist leider keine große Herausforderung, wenn Spieler 2 ganz einfach in der Shell sieht, welches Wort Spieler 1 eingetippt hat. Ich habe das Gefühl, dass ich das Problem nur über GUI lösen kann.(Leider kann ich das noch nicht) Hier ist der Code:
Code: Alles auswählen
b = 1
a = 0
import string
#Eingabe des Wortes
while b == 1:
print ("Gib ein Wort ein:")
wort = input()
#Nur Buchstaben erlauben
laengew = len(wort)
for o in range (laengew):
stelle = wort[o]
if stelle in string.ascii_letters:
a = a + 1
if a == laengew :
b = 0
else:
print ("Nur Buchstaben sind erlaubt!")
a = 0
#Liste für die eingegeben Buchstaben
y = []
#umwandeln der Eingabe in eine Liste
wortliste = list(wort)
fehler = 0
#die Schleife läuft so lange, wie das Wort lang ist
for i in range (laengew):
buch = 2
x = 1
while x != buch and fehler < 3:
print (i+1,".", "Buchstabe")
buch = input()
x = wort[i]
laengebuch = len(buch)
if buch == x and laengebuch == 1:
print ("Das ist richtig!")
y.append(x)
print (y)
elif buch != x and laengebuch != 1:
print ("Nur 1 Buchstabe!")
elif buch not in string.ascii_letters:
print ("Nur Buchstaben sind erlaubt!")
else:
print ("Das war leider falsch!")
fehler = fehler+1
print ("Verbleibende Versuche:", 3 - fehler)
if wortliste == y:
print ("Wunderbar, Du hast das Wort", y, "erraten!")
elif fehler == 3:
print ("Du hast keine Versuche mehr")
print ("Drücke Enter, um das Spiel zu beenden")
input()
Liebe Grüße!