Materiaalit on lisensoitu Creative Commons BY-NC-SA-lisenssillä, eli materiaalin levittäminen ja muokkaaminen on sallittu, kunhan tekijöiden nimet säilyvät mukana ja jatkoversiot julkaistaan samalla lisenssillä. Kaupallinen käyttö on kielletty.
Alkuperäiset tekijät (2014): Emilia Hjelm ja Jenna Tuominen
Väsyminen
- Tee uusi Clock-elementti toimimaan unikellona
- Nimeä Unikello
- Alusta uudelle kellolle TimerAlwaysFires = true ja TimerInterval = 3600000 (on tunti) samassa paikassa kuin missä alkuperäinen kellokin alustettiin
- Tee uusi tyhjä unilista-muuttuja arvoon create empty list
- Alusta unilista tietokannasta ikkunan avautuessa haeTietokannasta-prosessissa
- Aseta muuttujan arvoksi tyhjä lista jos arvoa ei löydy tietokannasta
- Reagoi unikellon "piippaukseen": When Unikello.Timer
- Lisätään uniListaan viimeisimmän tunnin tulos ja tehdään tätä varten uusi prosessi: to lisaaUnilistaan
lisaaUnilistaan-prosessin sisältöä:
- Poista listan ensimmäinen arvo jos listalla on jo 24 alkiota (muistissa pidetään vain viimeisin tunti)
- Lisää tämän jälkeen listan viimeiseksi uusimman tunnin arvo (eli onko lemmikki nukkumassa tarkistushetkellä, alle tunnin kestävää katkonaista unta ei lasketa ^.~ )
- Lisää listaan 1 jos nukutaan, 0 jos ollaan hereillä
- Kutsu lisaaUnilistaan-prosessia kun unikello piippaa
- Talleta tämän jälkeen unilista muistiin TinyDB:hen
Päivityshetki muistiin
- Tee uusi muuttuja "aikaLeima"=0, josta tiedetään milloin unilistaa on viimeksi päivitetty
- Hae tämä tietokannasta kuten muutkin muuttujat alussa, mutta anna arvoksi call Unikello.SystemTime jos arvoa ei löydy tietokannasta.
- Kun unikellossa on kutsuttu lisaaUnilistaan-prosessia niin tämän jälkeen päivitä aikaleima arvoon call Unikello.SystemTime
- Tallenna uusi aikaleima tietokantaan viimeisenä