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.

     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.
  • A continue miatt nem fut le a többi ellenőrzés, hanem indul a következő kör. 

     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.

# Futtatás

szolanc_jatek()



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 = [] 

     lepesek = 0 

     while True:

          lepesek += 1

          szo = input(f"{lepesek}. szó: ").strip().lower()

          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