Esmaspäev, 26. november 2018

Scratch ja joonistamine

Joonistamise võimaluste kasutamine Scratchis

Scratchis on võimalik spraidiga ka joonistada, vajalikud klotsid leiab pliiatsi alt. Oluline on teada, et joon jääb nähtavaks siis, kui pliiats on all (pliiats alla) ning joonistamine (joone näitamine) lõpeb siis, kui pliiats on üleval (pliiats üles).


Ülesanne 1.
  1. Ava uus projekt.
  2. Eemalda kassi-sprait ja pane selle asemele pliiats. Jäta taust valgeks, sest sinna saab siis pliiatsiga joonistada.
  3. Joonistamiseks katseta järgmist koodi (alustamiseks saab valida ka mingi muu käsu, kui spraidil klõpsamise) - vt allolevat koodi.
    • Millist probleemi koodi rakendamisel näed?


     4. Täienda oma koodi - lahtiseletatult paneb see pliiatsi liikuma ainult juhul, kui hiirekursori kaugus pliiatsist on suurem kui 5.

    5. Lisa ka joonistatu kustutamise võimalus.


    6. Lisa veel üks käsuplokk ja uuri, mida see joonistamise programmiga teeb!

    7. Leia võimalus pliiatsijoone värvi muutmiseks. 


Ülesanne 2.

Programmeeri nüüd pliiats näiteks kolmnurka joonistama
  • Joonista lavale näiteks kolmnurga kujuline sprait.
  • Programmeeri pliiatsit nii, et kolmnurgal klõpsates joonistaks pliiats lavale kolmnurga
    • Täienda oma skripti nii, et iga kord joonistatakse erineva suurusega kolmnurk (muutuja!).
    • Täienda skripti nii, et kolmnurk joonistatakse iga kord erinevasse kohta.



Esmaspäev, 22. oktoober 2018

Joonejärgimise mäng - lõpetamine ja viimistlus

Eelmistel tundidel tehtud ülesannetega peaks sinu joonejärgimise mängus olema järgmised asjad:
  1. tegelast saab liigutada nooleklahvidega
  2. tegelane peab liikumise ajal püsima joonistatud joonel, joonelt väljaminekul viiakse ta tagasi alguspunkti
  3. joone lõppu jõudes toimub "leveli" vahetus
  4. mängule on lisatud vähemalt 1 kukkuv objekt, millega kokkupuutudes läheb tegelane tagasi alguspunkti
Kui Sul midagi eelnimetatutest on puudu, siis tee kõigepealt need valmis ja kindlasti jaga oma projekti Stuudios (lingi leiad paremalt menüüst ja Moodlest).

Kui oled saanud mängu sellisele tasemele, nagu eelmiste tundide juhendites, siis proovi seda edasi arendada!

Mängu edasiarendus

Selleks:
  1. lisa mängule avaslaid (näiteks taust, millele kirjutad teksti), kus oleks kirjas, kuidas saab mängida. 
    • Slaide võib olla ka mitu - näiteks avaslaid mängu nimega ja siis teisena mängujuhend.
  2. lisa mängule lõpuslaid (otsusta, peale mitmendat "levelit" saabub mängu lõpp ja anna sellest eraldi taustaga (lavapilt) mängijale teada!

Lisaülesanne neile, kellel kõik eelmised punktid on tehtud!

  1. Lisa uus, laval suvaliselt liikuv objekt, millega kokkupuutudes tegelane läheb ka "leveli" lõppu või siis tagasi joone algusesse.
    • Suvaliselt liikuvat objekti saad programmeerida nii:

Esmaspäev, 15. oktoober 2018

Joonemängu täiendus 3

Tegelaste näitamine ja peitmine

Mängu käigus tuleb tegelasi ka peita. NB! Kui kasutad välimuse alt "peida" klotsi, siis tuleb kusagile kindlasti lisada ka "näita" (vähemalt mängu algusesse, sest muidu jääb tegelane peale esimest läbimängimist peidetuks).

Lisame mängule ühe tegelase (näiteks õuna), mis ilmub lava ülemisest servast ja langeb alla. Hiljem saame selle tegelase siduda punktide saamisega, aga esialgu paneme ta lihtsalt liikuma.

Õuna ilmumine on siin seotud teatega "liigu", mille peale õunad kukkuma hakkavad.
Alguses tuleb määrata punkt, kus õun nähtavale ilmub (lava ülemine serv, y-koordinaat peaks alloleva näite puhul olema selline, et õun lava serva ei puudutaks, sest liikumise lõppemine on kontrollitud serva puutumisega).
Siin saab kasutada juhuarvu klotsi. Juhuarv on etteantud vahemikust juhuslikult valitud arv. Alloleva näite puhul valitakse x koordinaadi väärtus vahemikust -220 kuni 220 ehk siis lava piirid (nii, et õun serva ei puudutaks).

Liikumine lõpeb alumise serva puudutamisel ja siis õun peidetakse, et 2 sekundi pärast jälle lava ülemisest servast teda näidata.

Mängu lõpetamine

Sellest, et mäng läbi sai, oleks hea ka mängijale teada anda. 
Mängu lõpetamiseks on jällegi mitu võimalust:
- luua mängu lõpust teavitav taust ja anda talle nimi (alloleval näitel on sellise tausta nimeks finish). Nüüd saab lisada kontrollploki, et kui tausta nimeks saab lõputausta nimi, siis peatatakse programm ja peidetakse tegelased).
- luua muutuja, mis suureneb "levelite" kasvades ja teatud arvu juures kuvab teate mängu lõppemise kohta (muutujatega tegeleme järgmisel tunnil).

Ülesanne
  • Loo olemasolevale mängule veel 2 "levelit" ja programmeeri nende vahetumine.
  • Loo lavale ka taust lõpp, mis annaks mängijale teada, et nüüd sai mäng läbi.
  • Loo objekt, mis hakkab ülevalt lava servast suvalistest kohtadest alla kukkuma.

Esmaspäev, 17. september 2018

Tegelaste ja tausta joonistamine Scratchis

Scratchi keskkonnas saab ise sobivaid tegelasi ja taustu joonistada.

Ülesanne 1. Joonista Scratci keskkonda oma tegelane ja pane ta liikuma!
Selleks ...
1. Loo Schratchis uus projekt ja eemalda "kass". Selleks klõpsa kassil paremat hiireklahvi ja vali rippmenüüst "eemalda".
2. Joonista oma tegelane, selleks klõpsa Spraitide lisamise menüüs pintslil.
3. Edasi avaneb joonistamise aken ehk tegelikult kostüümide "sakk".
Tegelase joonistamisel saad talle lisada erinevaid kostüüme, mis võivad olla ka näiteks erinevad näoilmed või käte-jalgade liigutused.



4. Vali sobiv värv ning tööriist ja hakka joonistama.
Juba valmis objekti on võimalik "paljundada", seda saab teha, kui klõpsata kostüümil paremat hiireklahvi ning valida rippmenüüst "paljunda".

5. Kasutades eelmisel tunnil õpitut (liikumine ja kostüümide vahetus), proovi saada joonistatud objekt liikuma. Selleks klõpsa peale joonistamise lõpetamist keskmises paneelis sõnal "Skriptid" ning lisa oma loodud tegelasele skript.

6. Joonistusvahenditest annab väikese ülevaate allolev joonis.


Kui soovid oma joonistatud tegelast hiljem ka muudes programmides kasutada, siis saad ta arvutisse alla laadida (NB! Salvesta kindlasti oma kooli arvutivõrgus olevasse kausta).
Selleks klõpsa tegelasel paremat hiireklahvi ja vali rippmenüüst "Salvesta lokaalsesse faili". Edasi vali kaust, kuhu fail salvestada. 

Ülesanne 2. Joonista oma tegelasele ka tegevuseks sobiv taust (lava). Mõtle ise välja, kust avaneb võimalus oma tausta joonistamiseks!

Tegelast on võimalik lisada ka failist. Selleks tuleb sobiv pilt arvutisse salvestada ning siis Scratchi keskkonda üles laadida.
NB! Vali läbipaistva taustaga pilt. Scratchis saab tausta küll kustutada, aga see on üsna tülikas tegevus.






Laupäev, 1. september 2018

Programmeerimise valikaine 2018/2019 õppeaastal.

Tere!

Alutame programmeerimise valikainega! Selle õppeaasta jooksul tutvume lähemalt programmeerimiskeskkonnaga Scratch, loome mõned äpid programmiga AppInventor ja teeme tutvust Pythoni programmeerimiskeelega.

Programmeerimise algkursuse ainekava

Blogi paremas servas on õppetunnid ja neil klõpsates avanevad vastava tunni materjalid. 

Õppeaasta lõpul (kevadel) tuleb igal õpilasel ühes aasta jooksul õpitud keskkonnas/ keeles valmis teha lõputöö (töötav programm) ja selle eest saadud hinne on ka hinne programmeerimise valikainele.

Edukat õppimist!
Vilve Roosioks

Reede, 31. august 2018

Programmeerimist õpetavad mängud

Mängud programmeerimise õppimiseks

http://learn.code.org/hoc/1

Programmeerimise õppimiseks on loodud ka mitmeid arvutimänge, mille abil on võimalik algteadmisi omandada. Sellel lehel vaatame neist lihtsamaid, kus tegevused tuleb teatud kindlas järjekorras klotsidest kokku panna, et tegelane oma eesmärgile jõuaks.

Mängus on 20 taset, esimeste tasemete läbimiseks tuleb kirjutada linnule ette liikumise tee, et ta põrsa kätte saaks. Tegelase saab liikuma panna plokkidega

Edasi tuleb juhatada zombie lilleni.

Kui eelnevast jääb väheseks, siis jätka harjutamist siin:
https://studio.code.org/s/20-hour

Starwarshttps://studio.code.org/s/starwarsblocks/stage/1/puzzle/1

Ja veel edasijõudnumatele Flappy Bird mäng: https://studio.code.org/flappy/1

Minecrafti sõpradele: https://studio.code.org/s/mc/stage/1/puzzle/1

Rohkem variante leiad lehelt: http://learn.code.org/


Teisipäev, 29. mai 2018

Tutvumine InObot haridusroboti programmeerimisega

InO-Bot on robot, mida saab nutiseadmega programmeerida. Programmeerimiseks mõeldud äpp meenutab Scratchi - tuleb lihtsalt õiged plokid järjekorda panna.

Juhend roboti töölepanekuks ja tahvliga ühendamiseks

Programmeerimiseks ava Ino-bot äpp ja ühenda robotiga (vajalik bluetooth ühendus).
Proovi saada robot mööda liikuma ja pöörama.

Esmaspäev, 21. mai 2018

HTML - stiilid, värvid ja tabelid

HTML dokumenti saab lisada ka värve. Värvide puhul on olemas rida selliseid, mida HTML koodi lugev veebilehitseja suudab mõista sõna järgi (red, blue, green, yellow, pink, brown, gray, gold, violet jms), enamuste teiste toonide puhul tuleb värv sisestada vastava koodiga (vt lõik allpool).

Värvide lisamine HTML lehele toimub sildi (tag) sees käsuga style.
Näiteks tausta värvimiseks tuleb <body> sildi sisse lisada style=background-color:azure

<body style="background-color:azure">             azure on siin värvi nimetus

RGB värvikoodid:
Värvide nimed, mida toetavad kõik veebilehitsejad: http://www.w3schools.com/tags/ref_colornames.asp
Teksti värvi muutmiseks tuleb style-silt kirjutada kas peatüki <p> või pealkirja <h1> sildi sisse.
Näiteks pealkirja H1 punaseks värvimiseks tuleb HTML-i muuta järgmiselt:

<h1 style="color:red">PEALKIRI</h1>

Ülesanne 1
Muuda eelmisel tunnil alustatud html-dokumenti nii, et selle taust oleks värviline (vali värvikoodide alt heledam värv) ning suur pealkiri oleks samuti värviline (vali taustavärviga sobiv toon).

PS. Teksti kirjastiili muutmiseks tuleb kasutada stiili font-family ning siis lisada kirjastiil. Kõiki kirjastiile ei ole veebilehitsejad võimelised kuvama. Veebiturvalisi stiile saad näha siit: http://www.w3schools.com/cssref/css_websafe_fonts.asp
Pealkirja kirjastiili (font) muutmine stiili Comic Sans MS tuleb lisada:
<h1 style="font-family:Comic Sans MS">
Juhul kui pealkirjale on juba lisatud näiteks värvistiil, siis saab järgmise stiili eelmise alla lisada nii:
 <h1 style="color:red; font-family:Comic Sans MS">


Kopeeri eelmisel tunnid loodud html-dokumenti <body> ... </body> siltide vahele järgmine kood (võib selle kopeerida siit lehelt).

 <table style="width:100%; text-align:left" border=1>
  <tr style="text-align:center">
      <th style="color:red; background-color:yellow">Eesnimi</th>
      <th>Perenimi</th>
      <th>Klass</th>
  </tr>
  <tr>
    <td>Mari</td>
    <td>Maarikas</td>
    <td>2b</td>
  </tr>
</table>


Salvesta dokument (jälgi, et selle faililaiend oleks html) ning ava veebilehitsejaga!

Ülesanne 2
Uuri lisatud koodi. Millised sildid tähistavad veerge, millised ridu?
Lisa tabelisse 1 rida, milles kuvatakse sinu nimi ja klass.
Lisa tabelisse 1 veerg, milles kuvatakse sinu vanus (Mari Maasika vanuse võid välja mõelda).
Täienda tabelit nii, et selle esimene rida (päiserida) kuvatakse värvilisel taustal ning päiserea test oleks samuti värviline.
Edasijõudnutele - värvi tabeli teised read samuti ära, nii et need oleksid päisereast erinevat värvi! Samuti võid värvide tabelit nii, et kaks kõrvutiolevat lahtrit poleks sama värvi! Näiteks selline:

Salvesta fail oma võrgukettal olevasse kausta ning pane talle nimeks teine.html


Kahoot HTML-i kordamiseks 


Teisipäev, 20. märts 2018

Python - sissejuhatus

Programmeerimiskeele Python esimene versioon loodi Guido van Rossum'i poolt 1989. aastal, tegemist on suhteliselt lihtsa kõrgtasemel programmeerimiskeelega. Nime on keel saanud inglise koomikutegrupi Monty Python järgi.

Pythoni keele tundmaõppimiseks kasutamine keskkonda Thonny (ikoon on arvuti töölaual).
Thonny saab kodus harjutamiseks alla laadida siit: http://thonny.cs.ut.ee/

Igas keeles on programmi kirjapanekuks omad reeglid. Järgmisena vaatama reegleid, mis kehtivad Pythoni keeles.

Kui me tahame ekraanil midagi kuvada, siis on selleks käskluseks print.
Kirjuta Thonny ülemisse aknasse print ("Tere kevad!") ja vajuta nuppu "run" või klaviatuuril nuppu F5 (roheline nooleke töölaua kohal).

Millegi ekraanile kuvamiseks kasutatakse Pythonis sõna print ja kuvatav tekst pannakse sulgudesse ning jutumärkidesse.

- kustuta jutumärgid ära ja käivita programm uuesti. Mida märkad?

Juhul kui programmis on mingi viga, siis annab sellest teada sõna "error". Praegusel juhul tähendab "syntax error" seda, et viga on just keeles.

Teksti kuvamiseks tuleb see kirjutada jutumärkidesse!

Muutuja - mälupiirkond andmete salvestamiseks. Nende andmetega saab arvuti muutuja kaudu edasi toimetada.

Muutujal on oma nimi (NB! nimeks ei saa olla mõni Phytonis reserveeritud käsklus, näiteks print) ja talle väärtuse andmiseks kasutatakse võrdusmärki (=)

Näiteks
a = 1 (muutuja nimega a väärtuseks on arv 1)
nimi = "Vilve" (muutuja nimi väärtuseks on tekst "Vilve")

print(a) kuvab ekraanil numbri 1
print(nimi) kuvab ekraanil nime

Mida kuvab ekraanil käsk print(nimi, a)?

Mida kuvab ekraanil käsk print(nimi + a)?

Ilmselt saite viimast käsku proovides teate TypeError. See tähendab, et viga on andmete tüübis. Meil on praegu kasutusel 2 andmetüüpi - täisarvud ja sõned (tekst). + märki kasutades saab omavahel kokku liita arve või sõnesid, aga sõnesid ja arve omavahel liita ei saa.

Lisaks täisarvudele ja sõnedele on Pythonis kasutusel veel sellised andmetüübid, nagu
ujukomaarvud (1.3, 3.14 - koma asemel kirjutatakse Pythonis punkt)
tõeväärtused (True või False ehk tõene või väär).

Arvude sõneks teisendamiseks kasutatakse str(a) ja sõnede arvudeks teisendamisel int(a) käsklusi (loomulikult ei saa inimese nime selle käsuga numbriks teisendad, aga kui küsime kasutajalt numbri sisestamist, siis võetakse seda sisestatud numbrit kui teksti ning see vajab teisendamist).

Kuidas kuvada ekraanil teksti "Minu nimi on (nimi)"?

Praegu me kirjutame ise programmi muutuja sisse, aga võimalus on seda ka kasutajalt küsida. Kasutaja vastuse saame muutujasse sisestada käsuga input.

nimi = input("Sisesta nimi: ")

input sõna järel sulgudes olev tekst kuvatakse programmi kasutajale tekstina. NB! Kui soovid, et nime ja kooloni vahele jääks tühik, siis sisesta see tühik jutumärkide sisse.


Ülesanne 1

Koosta programm, mis küsib kasutajalt nime ning lemmikvärvi ja kuvab vastuseks teksti:

Tere, nimi! Sinu lemmikvärv on värv!


Muutujatega saab teha ka tehteid.

a=1
b=2
kokku=a+b
print(kokku)

Proovi nüüd järgmist programmi käivitada. Mis saad vastuseks?

a = input("Sisesta 1. arv: ")
b = input("Sisesta 2. arv: ")
kokku = a + b
print(kokku)

Kui me küsime vastaja käest arvu, siis võtab programm seda arvu kui teksti ning liitmistehte abil kirjutab lihtsalt arvud järjest, mitte ei liida!
Selleks, et programm sisestatud teksti (mis ju tegelikult ongi arv) arvuna võtaks, tuleb seda eraldi teada anda lühendiga int() ehk siis int(a) teisendab muutuja a arvuks ja int(b) vastavalt muutuja b arvuks.



Ülesanne 2

Tee ülalolevas programmis vajalikud parandused, et see väljastaks sisestatud arvude summa!


Ülesanne 3

Koostada programm, mille
1. real luuakse muutuja nimega aasta ning selle väärtuseks pane oma sünniaasta (arvuna);
2. real luuakse muutuja nimega eesnimi ning selle väärtuseks sisesta oma eesnimi (sõnena);
3. real luuakse muutuja nimega perenimi ning selle väärtuseks sisesta oma perekonnanimi (sõnena);
4. real luuakse muutuja kirje, mille väärtuse saamiseks ühendatakse muutujate eesnimi, perenimi ja aastaväärtused üheks sõneks. Väärtuste vahele pannakse tühikud;
5. real väljastatakse muutuja kirje väärtus ekraanile.

Täienda oma programmi nii, et sünniaasta, eesnime ja perekonnanime saaks sisestada kasutaja!


Tehted, mida on võimalik Pythonis arvudega teha

+ liitmine
- lahutamine
/ jagamine
* korrutamine
** astendamine
% jäägi leidmine
// täisosa leidmine



Ülesanne 4

Koostada programm, mis küsib kasutajalt astme aluse (täisarv) ja astendaja (täisarv) ning arvutab ja väljastab ekraanile astme.

Pühapäev, 4. märts 2018

Ekraanile joonistamise äpp

Ülesanne 1

Tee valmis äpp, mille abil saad sõrmega ekraanile joonistada. Lisa ka nupp "Puhasta", mis ekraani jälle puhtaks teeb.

Ülesanne 2

Lisa erinevaid värve (nupud), et joonistada saaks erineva värviga.

Juhised

Selleks, et ekraanile tekiks piirkond, kuhu saame sõrmega joonistada (mis reageeriks puudutusele), tuleb leida Palette alt valikust "Drawing and Animation" komponent nimega Canvas ja see töölauale lohistada.
Paremalt omaduste paneelist saab määrata Canvas välja suurust





Vasakul Properties paneelis saab määrata, milline meie joonistusala on.

Ekraanil saab erinevate objektide paigutust veikene ka sättida. Selleks on Palette menüüs sõna Layout all valikud:
TableArrangement - saab näiteks nuppe paigutada üksteise kõrvale ja alla (nagu tabelis read ja veerud).
VerticalArrangement - saab objekte üksteise alla paigutada
HorizontalArrangement - saab objekte üksteise kõrvale paigutada.

Selleks, et joonistusvälja kohal oleks nupud, millel klõpsates saaks joonistada erineva värviga, tuleb lohistada töölauale HorizontalArrangement komponent.  
Lisame HorizontalArrangement komponendi sisse 3 nuppu, mis oleksid erinevat värvi (kiri ei pea peal olema).
Kõige alla tuleks lisada veel nupp, millel vajutamine kustutab joonistuse (see nupp võib olla ka üleval värvinuppude kõrval).

Programmeerimine.

Lisaülesanne

Lisa oma äpile liugur, millega saab määrata joone jämedust.




Teisipäev, 13. veebruar 2018

Hinnete kalkulaator (tähed)

Tee äpp, kuhu saaks sisestada kontrolltöö eest saadavad maksimumpunktid ja saadud punktid, arvutaks välja protsendi, näitaks seda ning annaks teada, mis hinde selle töö eest saab!

Äpi välimus võiks olla midagi sellist (vt allolev joonis).


Programmeerimise poolelt peaks nupp "Arvuta" väljadele max punktide arv ja saadud punktide arv sisestatud arvudest arvutama, mitu % moodustab saadud punktide arv max punktide arvust  ning kuvama saadud tulemuse väljal protsendid.

Selleks tuleb kasutada matemaatikatehteid (Math) valikust

Edasi tuleb programmile öelda, et väljal hinne kuvatakse vastavalt protsendile siis õige number või täht.

Viimsi Koolis kehtivad protsendivahemikud ning neile vastavad tähed on järgmised:
100 ja rohkem % - hinne A+
90 - 100 % - hinne A (vahemik suurem ja võrdne 90 ning väiksem 100)
80 - 90 % - hinne B (vahemik suurem ja võrdne 80 ning väiksem 90)
70 - 80% - hinne C
60 - 70 % - hinne D
50 - 60 % - hinne E
vähem kui 50% - hinne F

Näide ABC hindeskaala kohta (and - ploki leiate Logic valikust)

Kustutamise nupp

Kustutamise nupp peaks sellel klõpsamisel muutma kõikide sisestuskastide sisu tühjaks (Text -> " ")

Lisaülesanne!

Lisa kontroll, et sisestada saaks vaid arve! Kontroll, kas sisestatud sümbolid on arvud ja kui ei ole, siis sisestuskasti vastava teate kuvamine.


Neljapäev, 8. veebruar 2018

Kübaratriki äpi edasiarendus

Ülesanne 1.
Täienda eelmisel tunnil alustatud kübara ja jänese äppi nii, et iga kord kübaral klõpsates tuleks erinev pilt.

Ülesanne 2.
Iga pildiga võiks kõlada ka erinev heli.


Juhised
  1. Ava eelmisel tunnil alustatud äpp (kellel seda ei ole, siis vaatab blogist 1 teema allpool olevat juhist).
  2. Otsi internetist pildid, mida tahad kuvada (kui soovid teha mingit muud äppi peale kübara, siis võid asendada kübara pildid mingi muu pildiga).
  3. Kübaraäpi puhul pead veidi piltide joonistamisega vaeva nägema. Kiiresti saad pilditöötlust teha www.pixlr.com lehel. Ava seal kübarapilt ning lisa uus pilt teisele kihile. Siis saad pealmisel kihil ebavajaliku osa ära kustutada. Pilt salvesta teise nimega arvutisse.
  4. Lae uued pildid Appinventori keskkonda "Media" alla üles.
  5. Ava "Blocks" vaade. 
    • Edasi tuleb luua list, kuhu paneme kõik võimalikud pildivariandid, mis "mütsinupule" vajutades välja tulevad.
    • Listile nime andmiseks klõpsa "Variables" ja vali "Intialize global ... to". Kastikesse kirjuta oma listile nimi (näiteks "pildid").
    • Edasi vali "Lists" alt "make a list". Pesade arvu saad suurendada, kui klõpsad sinisel rattakesel. Lohista lihtsalt plokki uusi klotse.
    • Listi objektide jaoks tuleb valida "Text" alt teksti sisestamise plokk ja kirjutada nendesse eraldi kõikide piltide korrektsed nimed koos õige faililaiendiga.
    • Selleks, et iga klõpsamise korral tuleks erinev pilt, tuleb luua muutuja (näiteks nimega "number"). Matemaatika plokist leiad "random integer from ..." ploki. Kirjuta sinna juhuarvudeks 1 kuni sinu piltide arv.
    • Täienda nüüd "mütsi" klõpsamise skripti nii, et klõpsamisel saaks muutuja "number" väärtuseks juhuslik arv etteantud vahemikus (set global number to ... random integer from).
    • Edasi peab nupp "myts" võtma oma pildiks listist sama numbriga pildi (vt allolevat pilti).
    • Kõige selle juures mängitakse heli.
  6. Testi oma äppi!


Kui soovid oma äpile lisada helisid nii, et iga kord mängitakse erinevat heli, siis tuleb heliklippidest luua samasugune list.

Youtube videot saab helifailiks (mp3) konvertida selles keskkonnas: http://youtubemp3.to/ (otsi Youtube'st lugu, kopeeri selle loo URL aadressiribalt ja kleepi keskkonnas vastavasse aknasse ning klõpsa "Convert").
Helifaili (mp3) saad soovi korral lühemaks lõigata siin: http://audio-joiner.com/ (selleks tuleb mp3 fail keskkonda üles laadida ja siis liugureid liigutades saab heli lühemaks teha).

Esmaspäev, 5. veebruar 2018

Tutvumine programmiga MIT AppInventor

Keskkond on mõeldud Android op.süsteemiga seadmetele äppide tegemiseks.

Link keskkonnale: http://appinventor.mit.edu/

Kasutajakonto loomine

Esmalt tuleb keskkonda luua kasutajakonto. Selleks klõpsake nupul "Create".
Keskkonda logimiseks saate kasutada kooli e-postiaadressi (Google konto) ja postkasti parooli.

Projekti loomine

Klõpsa rohelisel ribal sõnal "Start New Project" ja anna projektile nimi (näiteks esimene).

Disainivaade

Ülesanne 1

1. Lohista vahendite paneelist disaini vaatesse nupp (Button).
2. Lae siit enda arvutisse järgmised pildid rabbit.jpg ja hat.jpg ja helifail TaDasound.mp3.
3. Leia disainivaatest kast pealkirjaga "Media" ning klõpsa "upload file". Lae 2 pilti ja helifail keskkonda üles. Failide nimed peavad ilmuma pealkirja "Media" alla kasti.
4. Klõpsa nupul ning leia kõige parempoolsemas, omaduste paneelis sõna image. Klõpsa sõna all olevas valges kastikeses ning vali loetelust hat.jpg. Nupu asemel peaks nüüd disainivaates olema müts.
5. Kustuta sõna "Text" all olevast kastist tekst ära.
6. Lohista disaini vaatesse veel üks nupp (Button). Kirjuta sõna "Text" all olevasse kastikesse "Uuesti" või "Restart".
7. Klõpsa Components paneelis nupul nimega Button1 ja vali paneeli alt sõna "Rename". Anna nupule nimeks näiteks myts (oluline on, et sa ise komponentide nimesid eristaksid, sest neid on hiljem programmi kirjutamise vaja teada). Nimeta Button2 samuti mõne teise nimega (näiteks "uuesti").
8. Klõpsa üleval rohelise riba paremas nurgas oleval nupul "Blocks".


Programmeerimise vaade (Blocks)


9. Klõpsa komponentide nimekirjas mütsi tähistaval nupul ja lohista töölauale klots "When myts click ... do".
10. Leia nupu klotside hulgast roheline klots kirjaga "Set myts.image to" ja lohista see eelmise klotsi sisse.
11. Klõpsa loendis sõnal "Tekst" ning vali sealt esimene plokk, kus on tühi kastike jutumärkides ning lohista see eelmise klotsi otse. Tekstikasti kirjuta rabbit.jpg (faili nimi peab olema täpselt sama, mis üles laetud failil).
12. Klõpsa nupul "uuesti" ning lisa sellele plokk, mis klõpsamisel muutaks pildi tagasi mütsipildiks.
13. Ava uuesti disainivaade ning leia vasakult vahendite menüüst sõna "Media" ja selle alt sõna "Sound". Lohista "Sound" ekraanile. See on peidetud komponent ja sellepärast kuvatakse teda väljaspool ekraani.
14. Klõpsa Components paneelis sõnal "Sound" ja vali Properties paneelis sõna "Source" all kastis klõpsates sinna eelnevalt üles laetud helifail TaDasound.mp3.
15. Ava uuesti programmeerimisvaade ("Blocks") ning klõpsa sõnal Sound. Nüüd saad lisada jänese pildi ilmumise juurde ka ploki "Call Sound1.play".

Valmis skript peaks välja nägema selline:

Nüüd on programm valmis!

Selleks, et seda oma nutiseadmes testida tuleb esmalt klõpsata sõnal "Build" ja sealt valida QR-koodi pakkuv lahendus.

Veidi aja pärast kuvatakse ekraanile QR kood. Skännige seda oma telefoni QR koodi lugejaga ning laadige äpp alla.
NB! Äppi installimiseks peate oma telefoni seadete alt lubama mitteturvaliste programmide installimise! Peale äpi installimist lülitage turvaline valik uuesti sisse!

Äpi testimine Emulatoriga (NB! suhteliselt töömahukas seadistamine).

/Link inglisekeelsele materjalile: http://explore.appinventor.mit.edu/sites/all/files/teachingappcreation/unit1/MagicTrick.pdf/

Esmaspäev, 29. jaanuar 2018

Scratch ja muusika

Scratchis võivad tegelased mängida ka helisid. Kui valite tegelase teegist muusikainstrumendi, siis lisanduvad helivalikusse ka sellele muusikariistale sobivad helid.

Lisa trumm ja programmeeri sellele rütm! Üks näide:

Kui lisad erinevaid rütmipille (Uus sprait -> muusika galeriist), siis saad tekitada terve rütmitausta.

Teiste pillide puhul saad panna nad viisi mängima. Viisi võid programmeerida ise, nii et klahvivajutuse või spraidil klõpsamise peale mängitakse maha terve viisijupp.

Kui soovid, võid iga klahvivajutuse alla panna kindla noodi ja siis saad klahve vajutades muusikariista ise mängida.

Lisaks on võimalik heli ka ise salvestada (võid näiteks teksti peale lugeda, mida tegelane ütleb). Selleks peab olema arvutiga ühendatud mikrofon (kooli kõrvaklappide mikrofon ei pruugi töökorras olla, aga katsetada tasub).


  • Lisa oma programmi mõned rütmipillid (trummid jms) ning pane nad rütmi mängima. 
  • Lisa klaver või süntesaator, ja pane ta mängima heliredelit.

  • Lisa mõni muu pill ja programmeeri see kas klahvivajutuse peale kindlat nooti mängima või siis selliselt, et näiteks pillil klõpsates mängiks ta terve viisijupi korraga.
    • NB! Kui programmeerid klahvid kindlat nooti mängima, siis pane see hiljem programmi kirjeldusse kirja, et teised ka teaksid, kuidas Sinu pilli mängida.
  • Pane oma programmile nimeks Muusika ja jaga oma programmi ning lisa see oma rühma Stuudiosse (link ringi blogis paremal menüüs).


Allolev skript mängib ühe tuntud lastelaulu algust. Mis laul see on?



Esmaspäev, 8. jaanuar 2018

Loendid

Oleme tutvunud Scratchis muutujatega, täna vaatame Andmete plokis olevat teist võimalust - loendi loomist.

Loend on järjestatud andmete kogum, kus andmetele viidatakse või kutsutakse neid välja loendi nime ja viitenumbriga (andmete järjekorranumber loendis).

Ülesanne
Täna proovime luua lihtsa inglise keele testi, kus kasutajalt küsitakse sõnu ning tema peab kirjutama neile inglisekeelsed vasted. Lõpuks saab kasutaja teada, kui mitu % sõnadest ta õigesti vastas.


1. Loo loend nimega "eesti" (Andmed -> Loo loend)
Lavale ilmub hall kast, selle allnurgas oleva + märgi kaudu saab loendisse uusi elemente lisada.
2. Lisa loendisse vähemalt 5 sõna, mille ingliskeelset vastet sa tead.
3. Lisa loend "inglise" ning kirjuta sinna samas järjekorras, nagu loendis "eesti" sõnad inglise keeles.
4. Edasi loo muutujad sõnade arvu, õigete vastuste, sõnade järjekorranumbri ja protsendiarvutuse jaoks.
5. Skripti alguses paneme järjekorranumbri, protsendi ja õigete vastuste väärtused võrduma 0-ga. Sõnade arvu (sõnad) väärtuseks aga paneme loendi "eesti" pikkuse.
6. Edasi tuleb küsida loendist "eesti" esimene element. Küsimise tsükkel näeb välja selline.
7. Lisa loendi algusesse ka viisakas pöördumine kasutaja poole ning lõpus arvuta kokku õigete vastuste protsent ning ütle see kasutajale!

Lisaülesanne: Kui soovid, et lisaks protsendile teataks programm ka sellele vastava tähe, siis pead oma programmi alljärgneva joonise järgi täiendama.

Rasmus Kaldma loovtööks loodud õppevideo sõnade õppimise mängu tegemise kohta.

Laupäev, 6. jaanuar 2018

Andmete sisestamine loendisse ja nende lugemine

Loendit saab kasutada ka nii, et programm sisestab ise sinna oma töö käigus andmeid (näiteks kasutaja poolt sisestatud numbreid, et siis leida sisestatud arvudest suurim vms). Selleks tuleb luua tühi loend ning kasutada loendi käsuplokki



Ava eelmisel tunnil tehtud ülesanne. Ilmselt märkasid juba, et selle ülesande puhul küsitakse kasutaja käest sõnu kogu aeg samas järjekorras!
Kui lisasime sinna juhuarvulise sõnavaliku, siis hakkasid osad sõnad korduma (mis ilmselt sõnade õppimise seisukohalt polegi nii väga halb variant).

Ülesanne
Täienda eelmisel tunnil tehtud sõnade küsimise skripti nii, et sõnu küsitakse suvalises järjekorras nii, et ükski sõna ei korduks!


1. Loo loend nimega "arv" - see loend jääb esialgu tühjaks, sinna hakkab programm lisama väärtuseid (meie näite puhul loendi "eesti" andmete järjekorranumbreid).
2. Skript töötab selliselt, et iga uue järjekorranumbri puhul kontrollitakse, kas see on juba loendis olemas (esimesel korral ei ole). Kui ei ole, siis lisatakse loendisse ning küsitakse kasutajalt selle järjekorranumbriga sõna (ja kontrollitakse vastavust inglisekeelse loendiga).
Juhul kui järjekorranumber on juba loendis olemas, siis võetakse uus (juhuslik arv vahemikus 1 - küsitavate sõnade arv) ja kontrollitakse uuesti.

"arv" on tühi loend ning tsükkel peab töötama seni, kuni selle liikmete arv saab võrdseks näiteks sõnu sisaldava loendiga.

Edasi tuleb kontrollida, kas nr väärtus (juhuslik arv vahemikust) on juba loendis olemas (pildil ülemine plokk). Juhul kui on, siis tuleb võtta uus juhuarv ning kontrollida uuesti.


3. Lisa kindlasti ka käsklus loendi tühjendamiseks skripti algusesse, muidu saad skripti käivitada vaid ühe korra.

Ülesanne 2
Täienda oma skripti nii, et see küsiks kasutajalt alguses, mitu sõna ta soovib vastata (anna ette ka vahemik, see ei saa olla suurem, kui sinu sõnade loend) ning küsib tema käest loendist suvaliselt nii palju sõnu!



Selleks tuleb lisada programmi lõik, mis kontrollib, kas sisestatud arv jääb loendis olevate sõnade arvu piiresse.
Kui jääb, siis hakkab ülejäänud skript tööle, aga korduste arv tuleb nüüd võrdsustada kasutaja poolt sisestatud vastusega (võtab loendist nii mitu erinevat sõna, kui kasutaja vastata soovib).

Neljapäev, 4. jaanuar 2018

Andmete sisestamine loendisse kasutaja poolt

Ülesanne

Täienda oma sõnade õppimise mängu nii, et mängija saaks ise soovi korral sõnad sisestada, mida ta õppida soovib!

Näide



Vihje



  1. Loendid eesti ja inglise tuleb enne sisestamist tühjendada!
  2. Alguses tuleb küsida, kui mitu sõna on soov sisestada ning siis korrata sisestamise tegevust nii mitu korda.
Lisaülesanne
Kui sõna on vale, siis anna kasutajale teada õige sõna!