Osnove Scratch-a

Osnove Scratch-a

Avtor: Nina Potočnik

Kaj je Scratch?



  • Scratch je programski jezik, ki je bil ustvarjen za
    učenje programiranja.

  • Namenjen je predvsem otrokom, vendar ga lahko
    uporabljajo tudi ostali.

  • Uporablja se za programiranje računalniških
    iger, za animacije in interaktivne zgodbe.

Začetki



  • Razvili so ga leta 2007.

  • Program je razvil Media Lab na Tehnološkem
    inštitutu Massachusetts.

  • Avtorji so se pri ustvarjanju zgledovali po
    LEGO kockah.

Kako ga namestiti?



  • Deluje v operacijskih sistemih Mac OS, Linux in
    Microsoft Windows.

  • Scratch lahko brezplačno pridobite tukaj.

  • Na strani izberete operacijski sistem
    vašega računalnika in ga nato namestite.

Kako Scratch zgleda?




(http://www2.nauk.si/files/580/prikaz_0.jpg)

Sprite

Sprite je figura, ki je lahko bitje ali element. Figure lahko narišete sami, jih prenesete iz računalnika ali pa izberete katero izmed že izdelanih.

Primeri figur:

(http://www2.nauk.si/files/580/sprite_1.jpg)

Sprite

Figuri lahko spreminjaš izgled, ji dodajaš zvoke in ji napišeš
program.



(http://www2.nauk.si/files/580/obleke.png) (http://www2.nauk.si/files/580/zvoki.png)

Ukazi

  • Ukazi so razdeljeni v osem skupin.

  • Vsaka skupina, ki zajema vsebinsko podobne ukaze, je različne barve.

  • Vse ukaze uporabljamo v kombinaciji z ukazi iz skupine Upravljanje, saj ta skupina zajema zanke, pogojne stavke, ...

  • Pri ukazih je pomemben vrstni red, saj se izvajajo eden za drugim.

  • Ker ukaze sestavljamo kot sestavljanko, se morajo deli kode skladati, zareze in izbokline morajo biti na pravih mestih.
(http://www2.nauk.si/files/580/ukazi.png)

Premikanje

To je skupina ukazov, ki, kot pove že ime, vsebuje ukaze povezane s premikanjem.

Figuri lahko določimo pozicijo na odru s pomočjo koordinat, lahko jo obračamo za ustrezen kot ali pa nastavimo, da se premika za ustrezno število korakov.

(http://www2.nauk.si/files/580/premikanje.png)

Izgled

V tem sklopu lahko figuri zamenjamo videz, barvo, velikost ali pa določimo kaj bo povedala v oblačku.

Imamo pa tudi ukaz pokaži/skrij, ki ga uporabimo, če želimo določeno figuro pokazati/skriti v določenih okoliščinah.

(http://www2.nauk.si/files/580/izgled.png)

Zvok

V sklopu Zvok imamo vse potrebne bloke, za predvajanje zvokov v ozadju ali pa za oglašanje izbranih figur.

Spreminjamo lahko glasnost in tempo.

Zvoke lahko prenesete z računalnika ali pa jih poiščete med že dodanimi v programu.

(http://www2.nauk.si/files/580/zvok.png)

Svinčnik

Z ukazi, ki jih vsebuje sklop Svinčnik, lahko rišemo različne like, medtem ko premikamo izbrano figuro po podlagi.

Svinčniku lahko menjamo barvo, senco in velikost.

(http://www2.nauk.si/files/580/svincnik.png)

Upravljanje

Najpomembnejša skupina ukazov, saj zajemajo zanke, pogojne stavke, ukaze za začetek izvajanja in ukaze za konec izvajanja.

Z izvajanjem lahko začnemo na več različnih načinov, npr. ko pritisnemo tipko Space (ali katerokoli drugo), ko v programu pritisnemo gumb z zastavico ali pa ko pritisnemo na figuro.

Zanki za vedno in ponovi večkrat ponovita izvajanje določenega ukaza.

Zanki če in če, drugače pa izvedeta ukaze, če je pogoj izpolnjen.

Ukaza za končanje sta dva, končaj izvajanje in končaj vse. Prvi konča trenutno izvajanje ukazov, slednji pa konča vse dogajanje.

(http://www2.nauk.si/files/580/upravljanje1.png) (http://www2.nauk.si/files/580/upravljenje2.png)

Zaznavanje

Ukazi zaznavanja so primerni predvsem pri premikanju figur.

Določamo lahko spremembe oziroma kaj se zgodi, ko je pritisnjen določen gumb, ko se figura dotika določene barve in podobno.

Na voljo imamo tudi blok, v katerega lahko napišemo vprašanje in čakamo na odgovor uporabnika.

(http://www2.nauk.si/files/580/zaznavanje.png)

Operators

Ta skupina ukazov vsebuje matematične simbole za seštevanje, odštevanje, množenje, deljenje, enakost in strogo neenakost.

Vsebuje tudi logične veznike in, ali in ne.

Vgrajene so tudi funkcije zaokroževanje, ostanek pri deljenju, korenjenje, vse kotne in krožne funkcije, absolutna vrednost in logaritem.

Ukaz izberi naključno število generira naključno število med določenima mejama.

(http://www2.nauk.si/files/580/operators.png)

Spremenljivke

Spremenljivke ustvarjamo sami, lahko so besede ali števila.

Ko imamo spremenljivko ustvarjeno, jo lahko pokažemo/skrijemo, jo nastavimo na določeno vrednost in ji to vrednost tekom programa lahko tudi zamenjamo.

(http://www2.nauk.si/files/580/spremenljivke.png)

1. primer

Časovna omejitev

Želimo sestaviti program, ki bo odšteval čas.

Najprej potrebujemo pogoj za začetek programa, to bo ko je pritisnjena zastavica.

(http://www2.nauk.si/files/580/zastavica.png)

Nato ustvarimo spremenljivko Čas, ki jo nastavimo na želeno vrednost, npr. 10 sekund.

(http://www2.nauk.si/files/580/nastaviCas.png)

Ker se čas mora odštevati, spremenljivko zamenjamo za -1. Nato počakamo 1 sekundo, da se čas zmanjšuje samo vsako sekundo. Ta dva bloka sta znotraj zanke za vedno, saj se ukaza morata ponavljati.

(http://www2.nauk.si/files/580/zamenjajCas.png)

Ostane nam samo še zadnji pogoj, to pa je, če je čas enak nič, potem končamo vse izvajanje.

(http://www2.nauk.si/files/580/enakNic.png)

Celotna koda:

(http://www2.nauk.si/files/580/celotenPrimer1.png)

2. primer

Pravilni šestkotnik

Radi bi, s pomočjo figure, narisali pravilni šestkotnik.

Za začetek zopet uporabimo ukaz ko je pritisnjena zastavica.

(http://www2.nauk.si/files/580/zastavica.png)

Nato moramo spustiti svinčnik, da bomo lahko risali. Svinčniku moramo nastaviti velikost, npr. 5 in barvo, npr. rdeča.

(http://www2.nauk.si/files/580/svincnikSpuscen.png)

Risali bomo s pomočjo figure, zato jo premaknemo za 100 korakov, da bo slika dovolj velika in figuro obrnemo za kot 60 stopinj. Ker imamo šestkotnik, okrog zadnjih dveh ukazov dodamo znako ponovi šestkrat.

(http://www2.nauk.si/files/580/ponoviSestkrat.png)

To je vse kar smo želeli narediti, zato končamo vse izvajanje.

(http://www2.nauk.si/files/580/koncajVse.png)

Celotna koda:

(http://www2.nauk.si/files/580/celotenPrimer2_0.png)

Prikaz izvajanja programa:

(http://www2.nauk.si/files/580/prikazIzvajanja2.png)

3. primer

Lov na banano

Želimo ustvariti preprosto igro, v kateri bosta nastopali banana in opica. Opica se bo premikala po odru, ko pa se bo dotaknila banane se bo ta premaknila. Cilj igre je, da se banane dotakneš desetkrat.

Med figurami poiščemo opico in banano.


(http://www2.nauk.si/files/580/opicaBanana.png)

Najprej bomo napisali kodo za opico. Opico bomo upravljali s smernimi tipkami, zato moramo za vsako posebebej definirati, kaj se bo zgodilo, ko bo tipka pritisnjena. Uporabili bomo ukaz ko je pritisnjen in dodali ustrezno tipko, nato bomo dodali obrni se v smeri in na koncu še premkni se za 10 korakov.

(http://www2.nauk.si/files/580/smerneTipke.png)

Ker pa želimo, da opica, ko osvoji 10 točk, reče: "Uspelo ti je!", moramo ustvariti spremenljivko Točke. Igra se bo ponovno pričela ko je pritisnjena zastavica. Nato pa bomo dodali počakaj dokler in bomo počakali dokler Točke ne bodo enake deset. Ko pa se to zgodi uporabimo ukaz reci, s katerim bomo lahko povedali kar želimo. Na koncu pa dodamo končaj izvajanje.

(http://www2.nauk.si/files/580/uspeloTiJe.png)

Ko imamo kodo za opico, se lahko posvetimo banani.
Banano moramo najprej z ukazom pokaži dodati na oder. Nato spremenljivko Točke nastavimo na 0, da imamo ob vsakem izvajanju programa, novo štetje točk.

(http://www2.nauk.si/files/580/pokaziTocke.png)

Definiramo kaj se zgodi, ko se opica dotakne banane. Uporabimo zanko za vedno če in dodamo pogoj se dotika opice, saj se le ob primeru dotika banana premake. Ko se to zgodi, zamenjamo Točke za 1 in banano premaknemo na naključno mesto na odru. To storimo z blokom, ki generira naključna števila.

(http://www2.nauk.si/files/580/dotikOpice.png)

Sledi samo še pogoj, ki ustavi dogajanje. To pa je, če je število Točk enako 10, potem skrijemo banano in končamo izvajanje.

(http://www2.nauk.si/files/580/tockeJeDeset.png)

Celotna koda za opico:

(http://www2.nauk.si/files/580/celotnaOpica.png)

Celotna koda za banano:

(http://www2.nauk.si/files/580/celotnaBanana.png)
0%
0%