Sunday, December 1, 2013

Veemaailma täiendamine (või ka uue loomine) - teema: Kalu püüdev hai!

Täna täiendame oma veemaailma nii, et hai poolt kinni püütud kalade eest saaks punkte.



Esmalt teeme hai kiirega juhitavaks (sarnaselt täpilisele kalale eelmises ülesandes, vt skripti eelmisest postitusest).
Hai skript võiks välja näha selline:

NB! Pööra tähelepanu sellele, kuidas hai suurust saab skriptis sobivaks muuta! Eelmistel tundidel kasutasime lava ülaosas olevat töövahendit tegelase vähendamiseks või suurendamiseks. Sama saab teha ühe käsuga skriptis - võta suuruseks ... % tegelikust suurusest. Kui number % märgi ees on suurem kui 100, siis muutub tegelane suuremaks ja kui väiksem, siis väiksemaks.

Siis teeme valmis ühe kala, keda hai püüdma hakkab (kollane kala) ning esmalt skripti, mis paneb kala suvaliselt mööda lava liikuma.
NB! Kala väiksemaks tegemiseks on siin jälle kasutatud "võta suuruseks ... %" käsuplokki!

Selleks, et hai kala kättesaamisele reageeriks (kala puudutamine) ja puudutused punktideks arvestaks, tuleb esmalt luua muutuja, näiteks "tulemus".
Lisame kala skripti mõned täiendused. Kui hai saab kala kätte, siis kala saadab teate edasi (et hai teda puudutas), tulemused suurenevad 1 võrra ja kala kaob ära. Selleks, et rohelise lipu klõpsamisel kala nähtav oleks, tuleb lisada skripti algusesse plokk "näita".
Tulemuste nullimine tuleb samuti sisse viia. Seda võib teha näiteks lava skriptis. Selleks tuleb muutujate alt valida "võta tulemus=0" käsuplokk. Nüüd nullitakse mängu alustades (rohelise lipu klõpsamine) kohe ka tulemused.
Muudame kala skripti veel selliselt, et peale nö kättesaamist ilmuks ta mõne hetke pärast uuesti ja teda saaks jälle püüda.

Nüüd teeme kalasid juurde, et oleks rohkem neid, keda püüda! Kuna ka teised kalad võiksid liikuda samasuguselt (ning olla hai poolt püütavad, peale püüdmist kaduda ning siis uuesti ilmuda), on kõige lihtsam olemasolevat kala paljundada. Selleks klõpsa kala spraidil paremat hiireklahvi ning vali sealt paljunda.

Mängu edasiarendused:

Hai reageering kala kättesaamisele - kui hai saab kala kätte, siis vahetab ta värvi ja kostüümi (suu lahti ja siis jälle kinni). NB! Selle skripti käivitab kalalt tulnud teade!





Täpiline kala, keda hai ei tohi süüa! - lisame skripti täpilise kala, kelle puudutamisel tekivad hail seedehäired ja kogutud punktid nullitakse. Ehk siis hai peaks seda kala vältima!
Täpiline kala võib liikuda sama skripti järgi, nagu kollased kalad ehk siis impordime täpilise kala ning kopeerime talle kollase kala skripti. Ainukene asi, mis selles skriptis ära muuta tuleb, on teade, mille täpiline kala peale ärasöömist hai poolt välja saadab (näiteks "punane_kala").

Hai reageering täpilise kala kättesaamisele - kui hai saab teate (näiteks "punane_kala"), siis nullitakse punktid (muutujate plokist "võta tulemus = 0") ja hai võtab 2 sekundiks kostüümi c (kõhuvalus hai).

Taimer



Monday, November 11, 2013

Andmete kogumine - õigete vastuste loendur

Täna proovime teha mängule juurde osa, kus tegelane küsib meie käest näiteks lihtsaid matemaatikatehteid ning programm loendab õigete vastuste hulka.

Arendame edasi eelmisel tunnil tehtud programmi ning lisame sellele võimaluse peale õige parooli sisestamist pääseda järgmisele "tasemele" ning teeme loenduri, mis oskaks anda punkte vastavalt õigetele või valedele vastustele.

"Valvuri" või siis parooli küsiva tegelase skriptid:

Tausta skript (vajalik selleks, et mängu alustades võetakse jällegi tagasi esimene taust, kui on vajadust, saab siia lisada ka punktide nullimise):

Selleks, et me saaksime kasutada muutujat "punktid", teuleb see kõigepealt luua. Selleks klõpsame sõnal "Andmed" ja edasi "Tee muutuja".

Edasi saame muutujat skripti lisada.

Praegu küsib programm meilt ainult ühte tehet, seda mille me küsimuse sisse kirjutasime. Edasijõudnutele allpool skript selle kohta, kuidas tekitada olukord, kus programm leiab ise suvalised ühekohalised arvud ning küsib nende summat.

Kui Sa eelmisel tunnil puudusid, või ei saanud programmi päris sellele tasemele, et täna jätkata, siis saad põhjana kasutada minu faili.
Selleks logi Scratch keskkonda sisse ning ava siis see link: http://scratch.mit.edu/projects/13885079/
ning edasi vali "Vaata seest".