Tuesday, January 19, 2016

Alamprogrammid

Selliseid tegevusi, mida tuleb käivitada korduvalt, saab kirjeldada alamprogrammides.

Põhiskripti lisame sellisel juhul viite alamprogrammile. Alamprogramme saab ka liita uude alamprogrammi (see on mõistlik siis, kui soovime neid üksikuid komponente hiljem ka eraldi kasutada).

Scratchis tähendab alamprogrammi loomine seda, et me loome ise uue tegevusploki.

Alamprogrammi loomiseks tuleb klõpsata valikul "Lisaplokid" ning sealt alt "Loo plokk":


Ülesanne 1 
Teeme alamprogrammi, mis joonistaks etteantud suurusega maja.

Teeme kõigepealt alamprogrammi ruut (skript võiks näha välja umbes selline - see joonistab ruudu küljepikkusega 30 ühikut).
Kui tahame, et ruudu küljepikkuse saaks võtta põhiprogrammist (näiteks küsida kasutajalt), siis tuleb alamprogrammile lisada arvparameeter. Selleks klõpsa alamprogrammi päises (lilla klots) hiire paremat klahvi ning vali "redigeeri".

Klõpsa lahti Valikud järel olev nool ning vali "Lisa arvparameeter". Nüüd ilmub ruudu nime sõna "number1". Nüüd on võimalik näiteks seda numbrit alamprogrammis arvu asemel kasutada.


Lisainfo:
http://www.progetiiger.ee/content/12-alamprogramm 

Ülesanne 2
Kasutades alamprogrammi "maja" joonista "linn", mis sisaldab kasutaja poolt etteantud arvu maju.

Tuesday, January 5, 2016

Joonistamine - pliiatsi tööriista kasutamine

Täna vaatame, kuidas saab kasutada joonistamise tööriista (pliiatsit).
Loo Scratchis uus projekt, võid muuta ka spraiti (tegelast, kes hakkab joonistama) ja valida kassi asemele näiteks pliiatsi.

Kirjuta oma spraidile järgmine skript:
Hoia tühikuklahvi all ja liiguta hiirt.

Lisa oma töösse veel selline skript. Mida see skript teeb?

Täienda esimest skripti järgmiste plokkidega ja vaata, mis muutub!
Tuleta meelde haikala mängu ja muuda skripti nii, et kui sprait jõuab hiirekursori juurde, siis jääks ta seisma (mitte ei hakkaks ühe koha peal värisema).

Joonista lavale ruuduke (uus sprait) ja kirjuta skript, mis teeks seda, et ruudule klõpsates joonistaks joonistav sprait (kass või nool) lavale ruudu.

Vihje - ruudu skript
Vihje - noole (kassi) skript
Testi, kuidas ruudujoonistamine töötab!
Kuidas teha nii, et ruudud joonistatakse laval erinevatesse kohtadesse?

Vihje: 

Lisa ruudu skripti algusesse allolevad read ja uuri, mida need sinu programmis muudavad!

Kui kõik see on tehtud, siis proovi täiustada oma projekti nii, et 
1) iga kord joonistatakse erineva suurusega ruut
2) programm küsib kasutaja käest, kui suure ruudu ta soovib joonistada ja joonistab siis nii suure ruudu.

Lisaülesanne!
Proovi teha samasugune skript ka kolmnurga joonistamiseks!