Treceți la conținutul principal

Spânzurătoarea - un joc simplu în Python

Spânzurătoarea - un joc simplu în Python


Spânzurătoarea este un joc de ghicit litere: unul alege un cuvânt secret, ceilalți încearcă să-l ghicească propunând litere. Pentru fiecare literă greșită, se desenează o parte dintr-un omuleț (sau dintr-un roboțel/om de zăpadă/astronaut). Dacă ghiciți cuvântul înainte să fie complet desenat, ați câștigat! 




Cum se joacă pe hârtie

  1. Alege cuvântul (ex.: „LAPTOP”).

  2. Desenează liniuțe pentru fiecare literă: _ _ _ _ _ _.

  3. Echipa ghicește litere pe rând:

    • Dacă litera există, o scrii la locul potrivit: L _ P T O P.

    • Dacă nu, adaugi o mică parte din desen (cap, corp, brațe, picioare… sau piese de robot).

  4. Finalul: ați completat cuvântul ⇒ Bravo!; ați epuizat toate încercările ⇒ încercați din nou cu un cuvânt mai ușor.


Trucuri istețe (strategie)

  • Începe cu vocale: A, E, I, O, U.

  • Litere frecvente în română: R, S, T, N, L.

  • Gândește pe categorii: dacă știi tema (ex. „animale”), verifică litere potrivite: M, R, S…

  • Caută perechi: CERARELATAST.


Idei de variante simpatice

  • Temă prietenoasă: în loc de „spânzurătoare”, construiești un om de zăpadă (cap, fular, nasturi…), un robot, sau o rachetă (corp, hublou, aripi).

  • Mod cooperativ: toți contra cuvântului; câștigați sau pierdeți împreună.

  • Cronometru: aveți 60 de secunde pentru fiecare 3 litere.

  • Categorii pentru copii:

    • Animale (VULPE, PISICĂ, DELFIN)

    • Școală (CAIET, CRETĂ, TABLĂ)

    • Sport (TENIS, FOTBAL, KART)

    • Tehnologie (MOUSE, ECRAN, ROBOT)


Mini-exemplu

Cuvânt: ROBOT
Litere propuse: 

  1. O (da) → _ O _ O _
  2. R (da) → R O _ O _
  3. A (nu) → adaugi o piesă la robot
  4. T (da) → R O _ O T
  5. B (da) → R O B O T ⇒ Victorie! 🤖


Jocul în pseudocod simplu (ușor de transformat în orice limbaj)

ALGORITM GhicesteCuvant
  alege cuvant_secret dintr-o lista_de_cuvinte
  litere_ghicite ← mulțime goală
  vieti ← 6            // numărul de piese/greșeli permise

  CAT TIMP (vieti > 0) SI (NU toate_literele_din(cuvant_secret) sunt in litere_ghicite) FA
    afiseaza_mascat(cuvant_secret, litere_ghicite)  // ex. _ A _ A _
    afiseaza("Litere încercate: ", litere_ghicite)
    litera ← citeste_litera_de_la_jucator()

    DACA litera este deja in litere_ghicite ATUNCI
       afiseaza("Ai încercat litera asta. Încearcă alta!")
    ALTFEL
       adauga litera in litere_ghicite
       DACA litera este in cuvant_secret ATUNCI
          afiseaza("Bravo! Litera se potrivește.")
       ALTFEL
          vieti ← vieti - 1
          afiseaza("Ups! Litera nu există. Vieți rămase: ", vieti)
          deseneaza_o_piesa()  // cap, corp, brațe, picioare/robot/rachetă
       SFARSIT_DACA
    SFARSIT_DACA
  SFARSIT_CAT_TIMP

  DACA toate_literele_din(cuvant_secret) sunt in litere_ghicite ATUNCI
     afiseaza("Ai ghicit cuvântul: " + cuvant_secret + " 🎉")
  ALTFEL
     afiseaza("Jocul s-a terminat. Cuvântul era: " + cuvant_secret + " 🙂")
  SFARSIT_DACA
SFARSIT_ALGORITM

O varianta simplificată în Python

Iata o varianta simplă a jocului Spânzurătoarea, preluata din "Capitolul 5 – Evenimente aleatorii și surprize în joc" al cărții "Programare simplă cu Python: Creează jocuri pas cu pas".

import random

print("Bine ai venit la jocul BONUS: Spânzurătoarea!")
print("Ghicește cuvântul literă cu literă.")

# Lista de cuvinte
cuvinte = ["python", "aventura", "magie", "padure", "sabie"]

# Alegem un cuvânt aleator
cuvant_secret = random.choice(cuvinte)
ghicit = ["_"] * len(cuvant_secret)  # listă cu liniuțe pentru fiecare literă

incercari = 6  # numărul maxim de greșeli

while incercari > 0 and "_" in ghicit:
    print("\nCuvânt:", " ".join(ghicit))
    litera = input("Alege o literă: ").lower()

    if litera in cuvant_secret:
        print("Bravo! Litera este în cuvânt.")
        for i, l in enumerate(cuvant_secret):
            if l == litera:
                ghicit[i] = litera
    else:
        incercari -= 1
        print(f"Litera nu există. Mai ai {incercari} încercări.")

if "_" not in ghicit:
    print("\nFelicitări! Ai ghicit cuvântul:", cuvant_secret)
else:
    print("\nAi pierdut! Cuvântul era:", cuvant_secret)

De ce e un joc grozav?

  • Te ajută la vocabularlogică și atenție.

  • Se joacă oriunde: pe hârtie, la tablă sau pe calculator.

  • Îl poți face mai ușor (cuvinte scurte) sau mai greu (cuvinte lungi, compuse).


Comentarii