4. etapp – JavaScript’i funktsioonid
4.1 Lehe alglaadimine
Enne JavaScripti funktsioonide juurde minemist, on vaja paika panna paar üldist asja:
- meie funktsioonid saavad paiknema failis mangukood.js
- html-lehe päises on viide funktsioonide failile (<script src=”mangukood.js“></script>) ja
- funktsioonide jaoks tekitasime eraldi faili mangukood.js
- mängu testversioonis kasutame sõna lumelaualaager
- mängu alglaadimiseks kasutame globaalseid muutujaid (et säilitada juba sisestatud andmeid kogu mängu jooksul):
- lokaalsed muutujad on muutujad, mida kasutatakse ühe funktsiooni piires
- globaalsed muutujad on muutujad, mida kasutatakse funktsioonide üleselt
4.1.1 Globaalsete muutujate defineerimine
Globaalsete muutujate defineerimiseks lisame JavaScripti faili algusesse järgmised read:
var otsitav_sona="lumelaualaager"; var otsitava_sona_tahed=otsitav_sona.split(""); var leitud_tahed=[]; leitud_tahed.push("l"); leitud_tahed.push("r"); var sobimatud_tahed=[];
Selle tulemusena on meil järgmised muutajad:
- muutuja otsitav_sona, mille väärtuseks on lumelaualaager
- massiiv otsitava_sona_tahed, mille saame, kui jagame muutuja otsitav_sona funktsiooni split abil tähtedeks
- massiiv leitud_tahed, mis on esialgu tühi
- lisame massiivi leitud_tahed funktsiooni push abil tähe l (kuna kuvame sõna esimese tähe ja teised kohad sõnas, kus see täht paikneb), massiivis on selle tulemusena 1 element, kohal 0, mille väärtuseks on l
- lisame massiivi leitud_tahed funktsiooni push abil tähe r (kuna kuvame sõna viimase tähe ja teised kohad sõnas, kus see täht paikneb), massiivis on selle tulemusena 2 elementi, kohal 0, väärtusega on l ja kohal 1, väärtusega r
- massiiv sobimatud_tahed, mis on esialgu tühi
4.1.2 Lehe alglaadimine
HTML-lehel on elemendile <body> lisatud sündmuse onload puhul funktsiooni algseis käivitamine ==> <body onload=”algseis();”>.
Seega lisame JavaScripti faili funktsiooni algseis:
function algseis() { document.getElementById("sona").innerHTML="L _ _ _ L _ _ _ L _ _ _ _ R"; document.getElementById("info").innerHTML="Hakka aga mänguga pihta"; document.getElementById("tahed").innerHTML=""; document.getElementById("pilt").innerHTML="<img src='pilt1.jpg' id='pildisisu'>"; document.getElementById("taht").focus(); document.getElementById("taht").select(); }
Selle tulemusena toimuvad esialgsel lehel järgmised muudatused:
- kasti sona (document.getElementById(“sona“)) kuvatakse (innerHTML) otsitav sõna “L _ _ _ L _ _ _ L _ _ _ _ R” (NB! selleks, et tulemus ilusam oleks, eraldavad tähti tühikud) ==> document.getElementById(“sona“).innerHTML=”L _ _ _ L _ _ _ L _ _ _ _ R”;
- muudetakse kasti info, kuhu asutakse kuvatakse info mängu seisu kohta, sisu ==> document.getElementById(“info“).innerHTML=”Hakka aga mänguga pihta”;
- tühjendatakse kast tahed, kuhu kuvatakse tähed, mida sõnas ei leitud ==> document.getElementById(“tahed“).innerHTML=””;
- lisatakse esimene kaader kasti pilt, kuhu kuvatakse esimene pilt, fail, mille nimeks on pilt.jpg ==> document.getElementById(“pilt”).innerHTML=”<img src=’pilt1.jpg’ id=’pildisisu’>”;
- aktiveeritakse sisendkast, kuhu saab tähe, mille identifikaator on taht, sisestada:
- klaviatuuri kasutamise korral, kasutades funktsiooni focus ==> document.getElementById(“taht“).focus();
- puuteekraani korral, kasutades funktsiooni select ==> document.getElementById(“taht“).select();