Scratch alapozó
Miért a Scratch?
Mert a Scratch a legjobb játék. Amikor Scratch-ben programozunk, kétszeresen is játszunk. Egyrészt a programok összerakása építőkockákból maga is játék; másrészt ha készen vagyunk az építkezéssel, kipróbálhatjuk az elkészült játékunkat is.
És mert ez a legjobb vizuális programozási nyelv. Első változata 2005-ben készült el, és az MIT Lifelong Kindergarten nevű csapatának évtizedes munkája van mögötte. Ők fejlesztették évtizedekig a Logo programnyelvet, amely 1967-ben forradalmasította a gyerekek programozás-oktatását, és amelynek a Scratch is az utóda). A Scratch ideális eszköz kétdimenziós animációk és játékok készítésére.
A Scratch előnyei:
- van magyar fordítása, a gyerekeknek nem kell angol kifejezéseket megjegyezni;
- platformfüggetlen, böngészőből és asztali alkalmazással is lehet programozni;
- használata rendkívül intuitív, bárki önállóan, próbálgatással is el tud igazodni a kezelőfelületén;
- a kezdők számára készült blokkok nagyon alacsonnyá teszik a belépési küszöböt;
- a haladó blokkokkal egészen komplex animációkat és játékokat is tudunk szerkeszteni (sokszor ugyanarra a feladatra van egy nem finomhangolható kezdő és egy finoman hangolható haladó megoldás is);
- beépített bittérképes és vektorgrafikus szerkesztőt is tartalmaz;
- több szálon fut a programkód, és a szálakat a Scratch lejátszója nagyon jól szinkronizálja, így lehet egyszerre egy kódrészre koncentrálni;
- objektumorientált: a szereplőkobjektumok, amelyeket önmagukban vagy másolatok prototípusaiként is lehet programozni;
- hatalmas aktív internetes közössége van (leginkább angol nyelvterületről; a magyar közösség sajnos még kicsi);
- jól összekapcsolható különféle külső eszközükkel, például robotokkal vagy mikrokontrollerekkel.
Természetesen vannak a Scratchnek hátrányai is:
- mivel automatikusan hangolja össze a párhuzamosan futó folyamatokat, bonyolult projektek esetében kicsit lassú;
- csak a Scratch saját lejátszójára hagyatkozhatunk; nincs lehetőség a projektjeinkből önálló alkalmazást létrehozni;
- a grafikus szerkesztők néha bugosan működnek.
Mindezekkel együtt a Scratch-et ma széles körben az egyik leghatékonyabb eszköznek tartják a gyermekek programozás-oktatásában.
A Scratch felülete
A Scratch felülete nagyon jól átlátható és könnyen használható. A 3.0-s verzióban így néz ki:
(1) Az ábrán sárgával színeztük a blokk-panelt. Itt találhatjátok meg a Scratch-blokkokat, azokat az építőkockákat, amelyekből a Scratch programok felépülnek. A blokkok a funkcióik szerint kategóriákba vannak sorolva, és minden kategóriának van egy színe: a mozgás-blokkoké például a sötétkék, a kinézet-blokkoké pedig a lila. A kategóriák között a színes pöttyeikre kattintva tudtok váltani.
(2) A feladatpanel van középen, ezt türkizzel színeztük az ábrán. Itt rakhatjátok össze a Scratch-blokkokat programokká.
(3) A lilával színezett játéktéren tudjátok lefuttatni a feladattéren összerakott programokódokat. A játéktér kinagyítható egész képernyősre a jobb felső saokban lévő ikonra kattintva.
(4) A pirossal színezett szereplőpanelen tudjátok kiválasztani, melyik szereplővel szeretnétek dolgozni. Minden szereplőnek külön tudtok kódot írni a feladattéren.
A blokkok használata
A Scratch-blokkokat egérrel, tudjátok megfogni és áttenni a feladattérre (a blokkra kattintotok, az egérgombot lenyomva tartva átemelitek a blokkot, és ha a helyén van, elengeditek. Amikor két blokk elég közel van egymáshoz, egy kis árnyék jelzi, hogy már össze tudnak kapcsolódni; ilyenkor elengedve a blokkot maguktól összeugranak:
A blokkok sorban egymás után hajtódnak végre, kivéve, ha ezen vezérlés-blokkokkal változtattok.
A blokkok felosztása formájuk szerint:
Tetőblokk (cap block): Egy kivételtől eltekintve minden feladat (blokkokból emelt építmény, szkript) egy ívelt tetejű eseményblokkal kezdődik: “zöld zászlóra kattintáskor”, “amikor szóköz gomb lenyomva” stb. Ezek az események fogják aktiválni a feladatot. A kivétel a saját blokkok meghatározása, ami szintén tetőblokk, de nem kötődik eseményhez. Tetőblokk fölé nem tudtok építeni.
Normál blokk (stack block): Ebből a blokkfajtából van a legtöbb. Ezek a blokkok egy-egy parancsot hajtanak végre.
C-blokk (C block): Ezek a blokkok körülölelnek más blokkokat, ciklusoknak, feltételes elágazásoknak vagy definícióknak teremtve helyet.
Záróblokk (cap block): Ezek a blokkok alulról lezárják a feladatokat. Alájuk már nem lehet építkezni.
Feltételblokk (Boolean block): Ezek a hatszögletű blokkok nem utasításokat adnak, hanem feltételek teljesülését ellenőrzik. Két értékük lehet: true (igaz) és false (hamis).
Értékblokk (reporter block): Ezek a kerekded blokkok szöveges és számadatokat, valamint ezekből alkotott listákat adnak vissza.
A blokkok csoportosítása színek szerint:
A kék mozgás blokkokkal tudjátok a szereplőket elhelyezni, mozgatni és irányba állítani a játéktéren.
A kékeslila kinézet blokkokkal a szereplők jelmezeit, szövegét, méretét, grafikus hatásait tudjátok beállítani.
A lila hang blokkokkal tudtok hangokat lejátszani, hangerőt és hangmagasságot beállítani.
A sárga esemény blokkok vezetik be a szereplők feladatait. Itt találjátok meg az üzenetküldés blokkjait is.
A sötétsárga vezérlés blokkok között találjárok meg a feltételes elágazásokat, a ciklusokat, a késleltetést, és a másolatkészítés blokkjait.
A világoskék érzékelés blokkok kezelik az input adatokat: különféle érintési tesztek mellett kérdés-blokkot találtok itt, és egy csomó más érték- és feltételblokkot, amelyek az egérrel, a billentyűzettel és az operációs rendszer órájával kötik össze a Scratch-et.
A zöld művelet blokkok között a matematikai műveletek és függvények mellett relációkat és szövegműveleteket is találtok. Itt kapott helyet a véletlenszám-generátor is.
A narancssárga változó és a piros lista blokkok közös csoportban vannak (az utóbbiak akkor jelennek meg, ha létrehoztok egy listát). Itt tudjátok a szöveges és a számváltozókat és listákértékeit és láthatóságát beállítani.
A ciklámen színnel jelölt Blokkjaim csoportban saját blokkokat tudtok létrehozni; ezek olyasmik, mint más programnyelvekben a szubrutinok vagy a függvények. A blokkok a létrehozás után jelennek meg.
Néhány alapfogás
Új szereplőt létrehozni a szereplőpanelen lévő kék cicafej ikonra kattintva tudtok. A felugró menüben kiválaszthatjátok, hogy kész szereplőt kértek a Scratch szereplőtárából, vagy magatok rajzoljátok meg az új szereplő jelmezeit:
Új hátteret nagyon hasonlóan tudtok létrehozni, csak a kék tájkép-ikonra kattintva:
Jelmezt módosítani vagy új jelmezeket rajzolni egy meglévő szereplőn a Jelmezek fülre kattintás után, a beépített grafikus szerkesztővel tudtok:
Ha váltogatni szeretnétek, hogy mikor melyik szereplő kódján dolgoztok, ezt a szereplőpanelen az ikonjukra kattintva tehetitek meg:
Projektet elindítani általában a zöld zászlóra kattintva szoktunk (ez attól függ, hogy a szereplők feladataihoz tartozó esemény-blokkok hogy rendelkeznek):
Megállítani pedig a zöld zászló melletti stoptábla-ikonnal tudjátok a kódokat.
Törölt szereplőt visszahozni az felület tetején lévő “Szerkesztés” menüpontban a “Helyreállítás” opcióval tudtok. (A törölt szereplővel együtt az összes kódja is elvész!)
Projektet elmenteni a saját gépetekre böngészőben a “File” menüpont “Mentsd le a számítógépedre” opciójával tudtok, az asztali alkalmazásban pedig ugyanitt a “Mentés” opcióval.
A Megosztás menüpontra kattintva böngészőben nyilvánossá tudjátok tenni a projektjeiteket, hogy bárki kipróbálhassa őket a világ bármely pontjáról.