Vaje: Tekstovni vmesnik za vislice
Predpriprava
Odprite svojo mapo za projekt vislice.
S spletne učilnice si prenesite kopirajte nabor besed za vislice v datoteko
besede.txt. (Celotno vsebino spletne strani lahko označite z bližnjicoctrl + a.)
Izdelava modela
Ustvarite datoteko
model.pyDefinirajte konstante
STEVILO_DOVOLJENIH_NAPAKz vrednostjo 10.PRAVILNA_CRKA,PONOVLJENA_CRKA,NAPACNA_CRKAnastavljene na tri različne konstante, npr.'+','o','-'.ZMAGA,PORAZnastavljeni na dve različni konstanti, npr.'W'in'X'.
Napišite nov razred
Igra, ki vsebuje:Metodo
__init__, ki nastavi vrednosti spremenljivk- niz
geslo[beseda, ki jo igralec poskuša uganiti] - seznam
crke[dosedanji poskusi igralca]
- niz
Metodi
napacne_crkeinpravilne_crke, ki vrneta seznam pravilnih oz. napačnih ugibanj igralca.Metodo
stevilo_napak, ki izračuna koliko napačnih ugibov je igralec že naredil.Metodi
zmagainporaz, ki preverita ali trenutno stanje določa zmago oz. poraz.Metodo
pravilni_del_gesla, ki vrne niz z že uganjenim delom gesla, tako da neznane črke zamenja s podčrtajem.Metodo
nepravilni_ugibi, ki vrne niz, ki vsebuje s presledkom ločene nepravilne ugibe igralca.Metodo
ugibaj, ki sprejme črko, jo pretvori v veliko črko, in vrne primernega odPRAVILNA_CRKA,PONOVLJENA_CRKA,NAPACNA_CRKA,ZMAGA,PORAZ.
V datoteki napišite kodo, ki iz datoteke
besede.txtizlušči nabor besed in ga shrani v seznambazen_besed.Napišite funkcijo
nova_igra, ki zgradi in vrne novo igro, ki ima za geslo naključno izbrano besedo iz seznamabazen_besed.
Izdelava tekstovnega vmesnika
Ustvarite datoteko
tekstovni_vmesnik.py.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!)Napišite funkcijo
zahtevaj_vnos, ki od uporabnika zahteva, da poskuša uganiti črko, in vrne črko.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.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
| /|\
| / \
_|______