Scratch II - teknőcgrafika és vezérlési szerkezetek
2014/03/27 14:32
4573 megtekintés
A cikk már legalább egy éve nem frissült, az akkor még aktuális információk lehet, hogy mára elavultak.

A programozás megszerettetésére és tömegek számára való elérhetővé tételére már számos kísérlet történt. Mi magyarok is büszkék lehetünk John G. Kemenyre, azaz Kemény Jánosra, aki az időosztásos rendszerben futó BASIC nyelv segítségével laikus hallgatók százait tett egyszerre oktathatóvá. A Scratch egy hasonlóan egyszerű felületet kínál, de már multimédiás környezetben.

Az első részben a létrehozás céljával és az alapkoncepcióval ismerkedtünk meg, itt az idő, hogy magával a környezettel is megbarátkozzunk. Az első nemzetközileg is elismert programozási nyelv létrehozását egyébként 1936-ra dátumozzuk, mert a német Konrad Zuse a Plankalkül nevű nyelvet, amelyet több gépén is alkalmazott, ekkor alkotta meg. Amerikaiak szerint persze az elsőség nem az övé, hanem a FORTRAN (Formula Translation) 1950-es évek közepén lenne az első, de ezt meg az angolok kérdőjelezik meg, mivel ők már a 40-es évek végén alkottak algoritmusokat kulcsszavak írásával az EDSAC gépen, és még nem is említették Ada Byront, aki a XIX. század közepén írt programokat egy nem is létező gépre!

Scratch tehát biztos nem első nyelv, és a mára már tízezernél is több programozási nyelv közül sem az egyetlen, amely kisiskolások számára készült. Itt jegyezzük meg, hogy a gépek vezérlésére ötször vagy más számítások szerint húszszor annyi mesterséges nyelvet sikerült gyakorlatilag létrehozni nagyjából 60 év alatt, mint ahány emberek által beszélt nyelv létezik az egész Földön.

Papert színrelép

A hatvanas évek elején az USA-ban gyakorlatilag 4 programozási nyelv létezett: a FORTRAN, amely kifejezetten a műszaki számítások gépre viteléhez lett kialakítva, a COBOL, amely gazdasági folyamatokhoz, az ALGOL, amely a kibernetika gondjait igyekezett kezelni, és a LISP, amely a nyelvi fordítás, a mesterséges intelligencia kutatásának kérdéseit igyekezett megoldani. Nem csoda, hogy Seymour Papert és kollegái a LISP nyelvbe tudták csak integrálni a kisdiákok oktatására kitalált utasításkészletüket, a rajzolást lehetővé tevő teknőcgrafikát.

A Scratch készítői számára a teknőcgrafika tehát alapértelmezésként beültetésre kellett, hogy kerüljön, már csak az elődök tisztelete miatt is. A 2007-es megoldás természetesen teljesen igazodott a kor igényeihez és grafikus felületen futó alkalmazás készült, a webes pedig még inkább igazodott az igényekhez.

A felület

A felület több kisebb részre bomlik. A címsáv alatt egyből megtaláljuk a menüt, amiből egyelőre a Fájl menüpont a legfontosabb, hisz ebben tudjuk elmenteni és megnyitni a munkáinkat. Célszerű figyelni arra, hogy a program hajlamos kiterjesztés nélkül elmenteni a fájlokat, ha ez történt, utólag SB2 kiterjesztéssel célszerű kipótolni a nevet, mert ebben a formátumban tárol valójában.

A többi menüpont közül a vágólap és az átméretezési műveleteket célszerű kipróbálni a felület középtáján. A Súgó sajnos angol nyelvű, de képanyaggal is ellátott, így a gyengébb nyelvtudással rendelkezők számára is adhat segítséget.

Az első rajzok elkészítését célszerű az alapértelmezett macska helyett egy jobbra mutató nyíllal végezni, mert így látjuk is, hogy mi történik a képernyőn. Ehhez a Jelmezek fülön az Új jelmez festése pontot kell választanunk. A jobb oldalon megjelenő rajzterületen a vonal kiválasztása után a lenti palettán színt és mellette a csúszkával tollvastagságot állíthatunk be. A forrópontot, azaz a rajzlapot érintő pontot egy kis szürke kereszt jelzi, ebből kezdjük el a rajzolást. A kész nyilat nem kell külön menteni.

Érdekes, hogy a fordítás nem teljes, valahol jelmez1 lesz a nyíl neve, de a Szereplők kiválasztására szolgáló ablakrészben balra lent Sprite1 marad.

Scratch2-1

Kurzor átalakítása nyíllá. A mozgások kényelmesebben követhetőek.

Rajzoljunk házat!

Azt elsőként tudni kell, hogy alapértelmezetten egy 480×360 képpontos lap áll a rendelkezésünkre, amelynek a koordináta-rendszere a megszokott tengelyirányokkal rendelkezik, azaz az y-tengely felfelé mutat és az origó a lap közepén van. A lépések nagyságának megválasztásánál fontos ezt különösen szem előtt tartanunk.

A Mozgás, a Toll és Vezérlés résszel érdemes elsőként alaposabban megismerkedni a feladatok közül.

Scratch2-2

Az egyes csoportok nagyon jól tagoltak, könnyű azonosítani a részcsoportok feladatait. Az utasításokat a jobb oldalra áthúzva majd rákattintva azonnal ki is próbálhatjuk. A színek beállítása elsőre nem egyszerű. A "tollszín legyen" utasítás esetében például rá kell mutatnunk egy képernyőpontra és azt fogja beállítani. Az is furcsa lehet, hogy nincs hátramozgató parancs, de persze negatív szám beírható lépésként a menj utasításba.

A vezérlési szerkezetek közül alaphelyzetben a számlálásos ciklusra lesz szükségünk, de mint látható, előltesztelő ciklusok és elágazások is rendelkezésre állnak, sőt az utolsó három utasítás érdekes lehetőségeket is sejtet, de ezzel később foglalkozunk.

Az "eljárás a programbeli megnevezéssel" parancs készítése is nagyon egyszerű. A Továbbiak feladatpontban a Parancs létrehozása gombra kell kattintani és az Új blokk ablakban megadni az új parancs nevét. A beállításokat egyelőre ne nézzük, azt a következő részben taglaljuk mélyebben.

Scratch2-3

Célszerű a rajzeszköz alapbeállításait külön blokkba összegyűjteni. Ez különösen akkor praktikus, ha szeretnénk sokszor próbálkozni, azonos kezdőbeállítások mellett. A blokkból most a kezdőpont kiválasztását szándékosan kihagytuk, azt megoldhatjuk a rajzlapon az alak áthúzásával is.

Kezdetként hozzuk létre a háromszög és a négyzet parancsunkat. Ezt a két saját parancsot felhasználva elkészíthetjük a ház parancsot, majd a négyzet átalakításával a ceruza parancsot, amit az utasításuk másolásával tehetünk gyorsan kivitelezhetővé.

Végül a ház és ceruza megfelelő sorrendben való végrehajtásával létrehozhatjuk a dóm parancsot is.

Scratch2-4

Aki a teknőcgrafikában már jártasabb, az most már igencsak hiányolja a paraméterezés lehetőségét, a változók használatát. A változók egyelőre még most kimaradtak, de a következő részben azokkal foglalkozunk.

További érdekes helyek:

Rozgonyi-Borus Ferenc cikke