pedagoska fakulteta maribor oddelek za racunalnistvo dokumentacija k programu lingo za windows uvod pravila igranja tockovanje osnovni meni baza podatkov diagram poteka razclenitev digrama poteka programska koda datum december student bostjan sternad letnik didaktik dr ivan gerlic asistent marjan krasna uvod lingo je druzabna igrica uganjevanja besed besedo izbira racunalnik seveda nakljucno nakar igralec poskusa uganiti izbrano besedo pri uganjevanju nam je v veliko pomoc racunalnik saj nam sproti oznacuje vse crke ki se ujemajo s crkami v izbrani besedi ideja je preprosta · ce je crka v vneseni besedi postavljena na pravilno mesto se oznaci z zeleno barvo · ce je crka v vneseni besedi in tudi v iskani besedi a ni na pravem mestu potem se ta oznaci z rumeno barvo · ce je vnesena beseda enaka iskani potem se vse crke oznacijo z zeleno barvo in uganjevanje je koncano · ce v prvih petih poizkusih ne uganemo iskane besede nam racunalnik pokaze resitev pravila igranja pravil igranja ni upostevati moramo le nekatere lastnosti · iskane besede so dolzine crk · vse besede so samostalniki v prvem spolu ednine · vnasanje besed poteka preko tipkovnice · cas za vnos besede je sec za pocasnejse tudi sec glej osnovni meni · nakar smo vnesli besedo to potrdimo z enter potrdi · racunalnik nam nato ovrednoti vneseno besedo · tockovanje poteka glede na poizkus zadetka iskane besede glej tockovanje pa obilo veselja pri igranju linga tockovanje tockovanje poteka po naslednjem kriteriju · ce uganete iskano besedo v prvem poizkusu dobite tock · ce uganete iskano besedo v drugem poizkusu dobite tock · ce uganete iskano besedo v tretjem poizkusu dobite tock · ce uganete iskano besedo v cetrtem poizkusu dobite tock · ce uganete iskano besedo v zadnjem poizkusu dobite tock osnovni meni ko smo zagnali program imamo na voljo naslednje moznosti iz osnovnega menija izbira opcije lingo gif bytes · nova igra zacetek igre · stop koncaj igro · hitrost nastavitev hitrosti pocasnes sec normalna sec lingo gif bytes · vnos podatkov vnasanje besed v bazo glej vnos v bazo podatkovbaza · ura ura v statusni vrstici · konec koncaj program izbira about · baza vpogled v stevilo besed v bazi izbira pomoc · vsebina vsebina pomoci · o programu o programu baza podatkov ko izberemo opcijo vnos podatkov se nam pojavi vnosno okence kamor lahko direktno vnasamo podatke bazo ker lahko bazo sproti dograjujemo in sirimo kar sami moramo upostevati pravila za vnesene besede glej pravila igranjapravila preverjanje vnesenih podatkov poteka v treh korakih ce vnesena beseda vsebuje prazne znake spaces potem vnos ni dovoljen ce se vnesena beseda ze nahaja v bazi je vnos prav tako nepravilen besede vnasamo preko tipkovnice pri tem pa je vseeno ali uporabljemo velike ali male crke baza podatkov je preprosta datoteka tipa txt baza txt besede pa so nanizane druga za drugo brez presledkov vsaka nova vnesena beseda se zapise na konec datoteke diagram poteka diagram gif bytes razclenitev digrama poteka zgoraj je prikazan osnovni diagram poteka ki pa ne vsebuje opcije za vnasanje podatkov in nekaterih drugih moznosti sedaj si pa malce podrobneje oglejmo kako program v bistvu deluje s stalisca programske kode oz bistvenih programskih resitev a izbiranje iskane besede baza besed je organizirana kot tekstovna datoteka v kateri so po vrsti zapisane besede dolzine crk dostopni algoritem je zelo preprost · najprej preverimo dolzino datoteke v bytih to stevilo delimo s in dobimo stevilo besed v bazi · nato nakljucno generiramo stevilo med in stevilom besed v bazi · z direktnim dostopom v bazo podatkov preberemo nakljucno besedo in jo shranimo kot iskano besedo b vnasanje besed okvircke za vnos crk predstavljajo ti polja slikovnih gradnikov picture box ti so primerni zato ker jim lahko spreminjamo barvo podlage ne da bi pri tem spreminjali vsebino slike to je uporabno takrat ko je treba oznaciti preverjene crke v vneseni besedi pri pravilno postavljeni crki je podlaga zelene barve pri crki ki se nahaja v besedi a ni na pravem mestu pa se ozadje obarva rumeno kot crke sem uporabil podobne gradnike kot so slikovni le da nimajo toliko zahtevnih lastnosti image box prav tako sem zgradil polje image gradnikov in sicer z indeksi ascii abecede a je b je itd kjer se vsaka crka abecede nahaja v gradniku z ustreznim ascii indeksom a je recimo gradnik imenovan crka glej programsko kodo poglejmo si kako deluje vnasanje preko tipkovnice · ko racunalnik izbere besedo dobi kontrolo prvi okvircek picture · ce pritisnemo tipko se takoj sprozi dogodek keypress ki preko ascii kode preveri katera tipka je bila pritisnjena · ker so ascii vrednosti malih crk enake ascii vrednostim velikih hkrati pa se male crke zacnejo pri vrednostih nad upostevamo samo tiste ascii vrednosti ki so manjse od sicer jih odstejemo za prav tako ni smiselno upostevati znake katerih ascii vrednosti so manjse od · ker so ascii vrednosti crk kot so s c z itd pri slovenski tipkovnici razlicne od ascii vrednosti kot pri angleski tipkovnici preverjamo se to · seveda upostevamo se moznost brisanja nazaj backspace · ce ascii vrednost ustreza kateri izmed crk potem lastnost picture index picture dobi vrednost crka ascii picture kjer je seveda slika ustrezne crke · glede na ustrezno okence se v spremenljivke cr cr cr cr cr shranjujejo vnesene crke ki se kasneje zapisejo v polje vbeseda vnesena beseda · pri zadnjem okencu picture preverjamo se ali je bila pritisnjena tipka enter ki pomeni potrditev vnesene besede c preverjanje vnesene besede potem ko smo pritisnili tipko enter se po vrsti izvrsijo nasledji koraki · v spremenljivko vbeseda se zapisejo vrednosti cr cr cr cr cr ki so tipa string kreira se spremenljivka tipa polje polje zapisa ki bo sluzila kot indeksno polje za crke ki so oz niso na pravilnih mestih · v prvem koraku preverjamo samo crke ki so na pravih mestih v besedi na tistih mestih bomo v spremenljivki polje zapisa postavili vrednosti na recimo ce je iskana beseda morje mi pa vnesemo major bodo ob prvem prehodu vrednosti polje zapisa · v drugem koraku pa preverjamo tiste crke ki sicer so v besedi a niso na pravem mestu na teh mestih bomo v spremenljivki polje zapisa postavili vrednosti na glej primer zgoraj dobimo vrednosti polje zapisa najvecji problem je bil prev ta kako poiskati take crke ki so v besedi a niso na pravem mestu hkrati pa paziti na to ali se veckrat pojavljajo v izbrani besedi in ali smo jih ze mogoce oznacili v spremenljivki polje zapisa oglejmo si podrobno razclenitev ~ preverjamo samo crke ki so na mestih kjer je vrednost v spremenljivki polje zapisa razlicna od tam ko je ali ali ~ potem za vsako tako crko preverimo ali se nahaja v iskani besedi ~ ce se potem preverimo ali je vrednost v spremenljivki polje zapisa enaka lahko bi bila tudi ~ ce je potem prestejemo vse te crke v iskani besedi in vse te crke v vneseni besedi ki imajo v spremenljivki polje zapisa ali vrednost ali ce sta ti vrednosti enaki potem ni vec moznosti da bi bila se ena taka crka nepravilno postavljena v besedi v nasprotnem primeru pa je lahko stevilo crk v vneseni besedi vecje od stevila ze oznacenih takrat dobi polje v spremenljivki polje zapisa postavljeno vrednost oglejmo si to na primeru izbrana beseda je meter mi pa vnesemo mreze prvi prehod da vrednosti polje zapisa vzamemo polje polje zapisa kjer je prva vrednost ker je tu crka r vidimo da se nahaja v izbrani besedi in je ena sama hkrati preverimo crke z indeksi ali in vidimo da ni nobene take torej postavimo vrednost polje zapisa vzamemo polje zapisa kjer je crka e ponovimo in podamo vrednost polje zapisa prav tako po istem postopku izlocimo z vrednost polje zapisa in koncno preverimo se za crko e kjer ugotovimo da je v izbrani besedi zastopana x in je stevilo ze oznacenih z ali crk manjse od stevila crk v iskani besedi dobimo vrednosti polje zapisa · v tretjem prehodu pa samo se glede na vrednosti v spremenljivki polje zapisa postavimo ustrezno barvo ozadja ~ pri vrednosti je ozadje zelene barve ~ pri vrednosti je ozadje rumene barve ~ pri vrednosti je ostane ozadje bele barve programska koda version microsoft visual basic professional edition programsko kodo lahko shranite tukaj