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()


Vissza