Autorid: Ea Rist ja Marianne Kristiina Orusalu ja Henrik Romanenkov
Mängu eesmärk on võimalikult kiiresti ekraanile tekkivaid sõnu ära trükkida. Sõnad on võetud Eesti Keele Instituudi lehelt – lemmad2013. Aluseks tuleb võtta kood eesrakenduste-arendamine-2018k/klahvimine.
- Töö tuleb teha vähemalt kahekesi, eelnevalt kokkuleppel on lubatud ka kolm liiget. GitHub'is peab eristuma, kes mida tegi!
- README.md fail sisaldab:
- autorite nimesid;
- repositooriumisse lisatud pilti/skeemi rakenduse tööprotsessidest (sh skoori moodustamine);
- skoori moodustamise ja lisatud funktsionaalsuste tekstipõhist kirjeldust.
- Mängu on lisatud täiendavad funktsionaalsused:
- eraldi on mängu tutvustav leht, kus kirjeldatakse mängu, saab sisestada mängija nime ning alustada mängu (ühe-lehe-rakenduse stiilis);
- mängijate kohta hoitakse meeles ja salvestakse skoor, nt kasutades localStorage'it;
- skoori arvutus on lahendatud keerulisemalt kui seda on juba olemasolev arvatud sõnade loetlemine;
- eraldi näidatakse välja 10 parima mängija skoori (brauseri põhjal kui kasutate localStorage'it);
- mängule on lisatud mõni lisafunktsioon, nt:
- valesti tähe trükkimisel on tagajärg (nt mõjutab skoori, ekraan vilgub, vms)
- kasutaja saab ise valida raskusastme või teda huvitavad sõnad (sõnapikkuse vms järgi)
- eraldi on öörežiim (ingl dark mode)
- mängus on animatsioonid (nt tähed lendavad ära pärast trükkimist)
- ...
- [EI OLE KOHUSTUSLIK] eraldi on statistika leht, kus näidatakse ära arvatud sõnade ja kasutajate kohta statistikat (nt eksimuste arv, kirjutamise kiirus vms)
- [EI OLE KOHUSTUSLIK] juba mängitud sõnu enam ei loosita
- [EI OLE KOHUSTUSLIK] skoori ja kõiki muid andmeid hoitakse serveris
- [EI OLE KOHUSTUSLIK] mängu loogika on serveris ja kasutatakse mängus petmist ennetatakse – cheat'imine on kõvasti keerulisem
- Lintimiseks on ühe võimalusena vaja paigaldada Node.js, VSCode ja VSCode plugin ESLint. Loe lähemalt kursuse 3.loangu materjalist. Abiks Vajalike asjade paigaldamiseks projektis:
npm install
- Sündmuste loetelu HTML DOM Events
- Ajal põhinevad sündmused JavaScript Timing Events
- Canvas retina ekraani jaoks High DPI Canvas
- Mäng 60fps requestAnimationFrame ja näide 60fps töötavast mängust Typer60fps