Vaje: Tekstovni vmesnik za vislice

Predpriprava

  1. Odprite svojo mapo za projekt vislice.

  2. S spletne učilnice si prenesite kopirajte nabor besed za vislice v datoteko besede.txt. (Celotno vsebino spletne strani lahko označite z bližnjico ctrl + a.)

Izdelava modela

  1. Ustvarite datoteko model.py

  2. Definirajte konstante

    • STEVILO_DOVOLJENIH_NAPAK z vrednostjo 10.
    • PRAVILNA_CRKA, PONOVLJENA_CRKA, NAPACNA_CRKA nastavljene na tri različne konstante, npr. '+', 'o', '-'.
    • ZMAGA, PORAZ nastavljeni na dve različni konstanti, npr. 'W' in 'X'.
  3. Napišite nov razred Igra, ki vsebuje:

    1. Metodo __init__, ki nastavi vrednosti spremenljivk

      • niz geslo [beseda, ki jo igralec poskuša uganiti]
      • seznam crke [dosedanji poskusi igralca]
    2. Metodi napacne_crke in pravilne_crke, ki vrneta seznam pravilnih oz. napačnih ugibanj igralca.

    3. Metodo stevilo_napak, ki izračuna koliko napačnih ugibov je igralec že naredil.

    4. Metodi zmaga in poraz, ki preverita ali trenutno stanje določa zmago oz. poraz.

    5. Metodo pravilni_del_gesla, ki vrne niz z že uganjenim delom gesla, tako da neznane črke zamenja s podčrtajem.

    6. Metodo nepravilni_ugibi, ki vrne niz, ki vsebuje s presledkom ločene nepravilne ugibe igralca.

    7. Metodo ugibaj, ki sprejme črko, jo pretvori v veliko črko, in vrne primernega od PRAVILNA_CRKA, PONOVLJENA_CRKA, NAPACNA_CRKA, ZMAGA, PORAZ.

  4. V datoteki napišite kodo, ki iz datoteke besede.txt izlušči nabor besed in ga shrani v seznam bazen_besed.

  5. Napišite funkcijo nova_igra, ki zgradi in vrne novo igro, ki ima za geslo naključno izbrano besedo iz seznama bazen_besed.

Izdelava tekstovnega vmesnika

  1. Ustvarite datoteko tekstovni_vmesnik.py.

  2. Napišite funkcije izpis_igre, izpis_zmage, izpis_poraza, ki sprejme igro in glede na stanje vrne niz, ki bi ga želeli izpisati. (Pozor, niza še ne izpišejo!)

  3. Napišite funkcijo zahtevaj_vnos, ki od uporabnika zahteva, da poskuša uganiti črko, in vrne črko.

  4. Napišite funkcijo pozeni_vmesnik, ki zgradi novo igro, ter nato v neskončni zanki čaka na ugibanja igralca, ter sproti posodablja igro in izpisuje trenutno stanje. Ko se igra konča, izpiše primeren izpis in prekine zanko.

  5. Vmesnik lahko dodatno nadgradite:

    • Vmesnik naj preverja, ali je igralčev vnos smiseln in ga v nasprotnem primeru opozori.
    • Ko je igra zaključena, naj vmesnik igralcu ponudi ponoven zagon igre.
    • Vmesnik naj namesto točk izrisuje stanje na vislicah.
       _____
       |   |
       |   o
       |  /|\
       |  / \
      _|______ 
Zadnja sprememba: četrtek, 8 april 2021, 11:01 AM