
Szólánc
Szólánc
SZOLANC.py
def szolanc_jatek():
- Létrehozunk egy függvényt szolanc_jatek néven. Ez fogja tartalmazni a szólánc játék teljes logikáját.
- Függvény használata lehetővé teszi, hogy a játékot újraindítsuk vagy más programrészekből hívjuk meg.
print("Szólánc játék indul!")
- Az üzenet kiírásával a játékos értesül a játék indulásáról. Ez egy barátságos, felhasználóbarát kezdés.
szolanc = [] # A helyes szavak listája
- Inicializálunk egy üres listát, szolanc néven, amelyben az összes szabályos szót fogjuk tárolni a játék során.
lepesek = 0 # Helyes lépések száma
- Egy számlálót hozunk létre lepesek néven, amely nyomon követi, hányadik szót kéri a program.
- Ez nemcsak a sorok sorszámát biztosítja, hanem a helyes lépések számításában is szerepet játszik.
while True:
- Egy végtelen ciklust hozunk létre. Ez a ciklus addig tart, amíg valamelyik szabály hibát nem észlel, és a játék véget nem ér a break utasítással.
lepesek += 1
- Minden új szó bekérése előtt növeljük a lepesek számlálót eggyel. Ez jelzi, hogy hányadik szót kérjük.
szo = input(f"{lepesek}. szó: ").strip().lower()
- Kérünk egy szót a felhasználótól:
- input: Bekéri a felhasználótól a következő szót.
- strip(): Eltávolítja a szó elején vagy végén található felesleges szóközöket.
- lower(): Kisbetűssé alakítja a szót, hogy az ellenőrzés során ne legyen gond a nagybetűk miatt.
- A megadott szó automatikusan a szabályok alapján kerül ellenőrzésre.
if lepesek == 1:
- Az első szónál külön szabályok érvényesek: nem kell illeszkednie az előző szóhoz.
if len(szo) != 6:
- Ellenőrizzük, hogy a bekért szó pontosan 6 betűből áll-e. Ha nem, akkor a játék véget ér.
print("A karakterek száma téves!")
break
- Ha a szó nem 6 betűből áll, kiírjuk, hogy a "karakterek száma téves", és megszakítjuk a ciklust.
szolanc.append(szo)
continue
- Ha a szó megfelelő hosszúságú, hozzáadjuk a szolanc listához, és folytatjuk a következő szó bekérésével.
- Az continue itt biztosítja, hogy a további ellenőrzések ne fussanak le az első szónál.
if len(szo) != 6:
- A második szótól kezdve újra ellenőrizzük, hogy a bekért szó 6 betűből áll-e.
print("A karakterek száma téves!")
break
- Ha nem 6 betűből áll, akkor hibát jelezünk, és véget vetünk a játéknak.
elif szo[0] != szolanc[-1][-1]: # Illeszkedés ellenőrzése
- Ellenőrizzük, hogy a bekért szó első betűje megegyezik-e az előző szó utolsó betűjével:
- szo[0]: Az aktuális szó első betűje.
- szolanc[-1][-1]: Az előző szó utolsó betűje.
- Ha nem egyezik, akkor a szó nem illeszkedik.
print("Nem illeszkedett!")
break
- Ha a szó nem illeszkedik, hibaüzenetet jelenítünk meg, és megszakítjuk a játékot.
else:
szolanc.append(szo)
- Ha minden szabály teljesül (a szó hatbetűs és illeszkedik), hozzáadjuk a szolanc listához.
helyes_lepesek = len(szolanc) - 1 # Az első szó nem számít lépésnek
print(f"Helyes lépések száma: {helyes_lepesek}")
- A helyes lépések számát úgy számítjuk ki, hogy levonunk 1-et a szolanc lista hosszából (mivel az első szó nem számít lépésnek).
if helyes_lepesek <= 2:
szint = "kezdő"
elif 3 <= helyes_lepesek <= 5:
szint = "közepes"
else:
szint = "haladó"
- Az elért lépésszám alapján értékeljük a játékos szintjét:
- 0–2 lépés: "kezdő"
- 3–5 lépés: "közepes"
- 6 vagy több lépés: "haladó"
print(f"Szint: {szint}")
- Kiírjuk a játékos szintjét az értékelés alapján.
Példa futtatás:
Input:
1. szó: kezdés
2. szó: suhan
3. szó: naivan
4. szó: erdekes
Nem illeszkedett!
Output:
Helyes lépések száma: 2
Szint: kezdő
def szolanc_jatek():
print("Szólánc játék indul!")
szolanc = [] # A helyes szavak listája
lepesek = 0 # Helyes lépések száma
while True:
lepesek += 1
szo = input(f"{lepesek}. szó: ").strip().lower()
# Első szó: csak hosszellenőrzés
if lepesek == 1:
if len(szo) != 6:
print("A karakterek száma téves!")
break
szolanc.append(szo)
continue
# Minden második szótól kezdve: hossz és illeszkedés ellenőrzés
if len(szo) != 6:
print("A karakterek száma téves!")
break
elif szo[0] != szolanc[-1][-1]: # Illeszkedés ellenőrzése
print("Nem illeszkedett!")
break
else:
szolanc.append(szo)
# Játék vége: kiértékelés
helyes_lepesek = len(szolanc) - 1 # Az első szó nem számít lépésnek
print(f"Helyes lépések száma: {helyes_lepesek}")
# Értékelés a lépésszám alapján
if helyes_lepesek <= 2:
szint = "kezdő"
elif 3 <= helyes_lepesek <= 5:
szint = "közepes"
else:
szint = "haladó"
print(f"Szint: {szint}")
# Futtatás
szolanc_jatek()