# Akasztófa játék
# YT: https://www.youtube.com/watch?v=bsEVmO-dg5g
import random
# Előre megadott szólista
szavak = ["alma", "iskola", "körte", "szilva", "kert", "lakás", "osztály", "asztal", "ablak", "tégla"]
# Véletlenszerűen kiválasztunk egy szót a listából
kivalasztott_szo = random.choice(szavak)
# A felhasználónak megjelenő üres karakterek (pl. _ _ _ _ _)
kitalalando = ["_"] * len(kivalasztott_szo) # létrehozunk egy listát, amiben annyi _ van, ahány karakterből áll a szó maga
max_probalkozas = 10
probalkozasok_szama = 0
tippelt_betuk = set()
print("Akasztófa játék indul!")
print(" ".join(kitalalando))
# Amíg vannak próbálkozási lehetőségek és nem találták ki a szót
while probalkozasok_szama < max_probalkozas and "_" in kitalalando:
tipp = input("Tippelj egy betűt: ").lower()
# Ellenőrizzük, hogy a tippet még nem adta-e meg korábban
if tipp in tippelt_betuk:
print("Ezt a betűt már próbáltad, tippelj egy másikat!")
continue
else:
tippelt_betuk.add(tipp)
# Ha a tippelt betű benne van a szóban
if tipp in kivalasztott_szo:
print("Talált!")
# Frissítjük a kitalált betűk listáját
for index, betu in enumerate(kivalasztott_szo):
if betu == tipp:
kitalalando[index] = tipp
else:
print("Nem talált.")
probalkozasok_szama += 1
print(f"Próbálkozások száma: {probalkozasok_szama}/{max_probalkozas}")
# Megjelenítjük az aktuális állapotot
print(" ".join(kitalalando))
# Játék vége: ha kitalálták a szót
if "_" not in kitalalando:
print(f"Gratulálok, eltaláltad! A szó: {kivalasztott_szo}")
else:
print(f"Vesztettél! A keresett szó: {kivalasztott_szo}")