teisipäev, 24. november 2015

Erinevad liikumisvõimalused (veemaailm 1)


Tänane ülesanne tutvustab erinevaid võimalusi, kuidas objektid saavad liikuda. Selleks loome "Veemaailma" ja lisame sinna erinevalt liikuvaid objekte.
Palun lisa tunni lõpus töö ka oma rühma Stuudiosse (link paremal menüüs) või saada link jagatud programmile vilve.roosioks@g.viimsi.edu.ee aadressile!

Ülesanne.

Loo uus projekt ning vali sellele taustaks midagi veealust (Lava piltide valikus on mõned sellised). Lisa projekti Krabi, Kollane kala, Hai, Kaheksajalg, Meritäht, Täpiline kala, Lilla kala ja sukelduja.
Programmeeri kõikidele tegelastele liikumine (vt allolevaid skripte).




Krabi - liigub ühtlaselt mööda põhja edasi tagasi. Vahetab kostüümi. Kui jõuab lava serva, siis põrkab tagasi.


Kollane kala (kalake) - liigub juhuslikult ja põrkab servadest tagasi. Teine skript põhjustab kala ootamatuid suunamuutusi.



Hai - ajab kollast kala (kalake) taga. Tagaajamiseks on kostüüm, millel on suu lahti. Kui saab kala kätte, siis paneb suu kinni ja saadab teate välja (teade käivitab kaheksajala skripti).





Kaheksajalg - püsib paigal kuni saabub teade "kalakäes" (hai saab kala kätte). Siis võtab kaheksajalg hoogu ja hüppab sinna, kus on kollane kala.




Punane täpiline kala - jälitab hiirekursorit. Kui saab kursori kätte, siis jääb seisma.




Lilla kala - liigub täiesti suvaliselt. Kahjuks selle liikumisploki kasutamine ei luba tal end pöörata, sellepärast ujub vahepeal saba ees.




Meritäht - liigub kukerpallitades mööda põhja. Kui jõuab servani, siis kukerpallitab teises suunas tagasi.




Sukelduja - ujub taustal aeglaselt vasakult paremale




Valmis programm võiks välja näha selline:

Lisaülesanne - muuda kalakese skripti nii, et kala liikumise kiirust saaks määrata liuguriga

Selleks tuleb sisestada kalakesele muutuja (Andmed) kiirus (see tegelikult näitab seda, mitu pikslit ta korraga edasi liigub).



Liuguri saamiseks tuleb muutujat laval näidata (linnuke Andmed, kiirus ees) ja siis selle peal hiire paremat klahvi klõpsates saab valida näitamisviisiks "liugur". Samas saab määrata ka liuguri minimaalse ja maksimaalse väärtuse.

esmaspäev, 16. november 2015

Matemaatikaprogrammi täiendamine

Ülesanne


  • Täienda oma matemaatikaprogrammi nii, et sel oleks 2 "levelit" (võid muuta näiteks juhuarvude leidmise vahemikku või siis tehet, mida teha tuleb).
  • "Leveli" vahetus toimub peale seda, kui vastaja on kogunud õigete vastuste eest teatud arvu punkte (näiteks 3 või 5).
  • Tee mängule ka lõpp ehk siis kui vastaja on läbinud teise "leveli" (näiteks kogunud sealt 5 punkti), kuvatakse talle tekst mängu lõppemise kohta.
  • Edasijõudnumatele - lisa kas mängu või leveli lõppu tekst, kus vastaja saab teada, mitmele küsimusele ta vastas ja mitu vastust olid õiged (või siis õigete vastuste protsent).



NB! Tunni lõpus palun jagage oma programmi (sõltumata sellest, kui kaugele jõudsite) ning saadke jagatud projekti link (kopeerige peale projekti jagamist brauseri aadressiribalt) õpetajale vilve.roosioks@g.viimsi.edu.ee

esmaspäev, 9. november 2015

Muutujad

Selleks, et programm saaks sisestatud andmeid (kasutaja vastus, mõni välja arvutatud tulemus) ka edaspidi kasutada, tuleb kasutusele võtta muutujad.


Muutuja on nimega varustatud koht arvuti mälus, kuhu saab salvestada mingi väärtuse, näiteks arvu, teksti jms. Seda väärtust saab programm edaspidi kasutada, näiteks kuvab kogutud punktid, arvutab uue väärtuse või käivitab järgmise protsessi (kui muutuja väärtus saab võrdseks mingi muu väärtusega).
Muutujate lisamiseks Scratchis tuleb klõpsata nupul "Andmed" ning edasi "Loo muutuja".
Selleks, et muutujat saaks programmis edasi kasutada, tuleb anda talle nimi. Nime andmisel on üldine reegel (kehtib ka teistes programmeerimiskeeltes), et muutuja nimi peab koosnema ühest tähest või tähtede ja numbrite jadast, mis peab algama tähega. Nimes ei tohi olla tähtedest ja numbritest erinevaid märke (tehtemärgid, kirjavahemärgid, sulud jmt), välja arvatud allkriipsud. Nimes ei tohi olla ka tühikuid.

Peale muutuja lisamist tekivad "Andmed" jaotuse alla lisaplokid, mida saab programmi tegemisel kasutada.
Muutujate loomise juures on valikud:
  1. Kõikide spraitide jaoks - muutujat saavad kasutada kõik programmi spraidid ja lava ehk muutuja muutumist saab kasutada kõikide nende skriptides. Selliseid muutujaid nimetatakse globaalseteks muutujateks.
  2. Ainult selle spraidi jaoks - muutujat saab programmis kasutada ainult see sprait, mis oli muutuja loomise hetkel valitud. Teiste spraitide ja lava jaoks ei ole see muutuja kättesaadav. Selliseid muutujaid nimetatakse lokaalseteks muutujateks.
Ülesanne 1.
Jätkame eelmisel tunnil tehtud projekti (kes puudus või kes soovib, võib aluseks võtta ka õpetaja projekti, selleks klõpsake linki http://scratch.mit.edu/studios/649890/ ja valige projekt parooli_kysimine, avage ning klõpsake nuppu "Vaata seespoolt").

1. Lisage globaalne muutuja (kõikide spraitide jaoks) nimega punktid
2. Täienda programmi nii, et peale õige parooli sisestamist küsib tegelane kasutajalt kolm matemaatikatehet, millele peab õigesti vastama. 
3. Õige vastus kasvatab punktisummat 1 võrra, vale vastus vähendab punkte 1 võrra (ehk kasvatab -1 võrra punktisummat). 
4. Kui 3 punkti on kogutud, siis vahetub lava ning vastaja pääseb edasi teisele "levelile".


Ülesanne 2.
Täienda oma programmi nii, et kasutaja käest küsitakse iga kord ERINEVATE ARVUDEGA matemaatikatehteid! Selleks pead lisama kaks uut muutujat, näiteks a ja b ning kasutama juhuarvu.

Spikker