Nörttitytöt

Tällä kertaa Nörttityttöjen matkassa pääsee tutustumaan graafisella ympäristöllä ohjelmointiin ja tekemään oman jouluisen pelin.

Tietokoneohjelmoinnista useimmille tulee varmaankin mieleen koodin kirjoittaminen, mutta muitakin mahdollisuuksia on. Nykyään erityisesti lapset tutustuvat ohjelmointiin usein nimenomaan graafisten ohjelmointiympäristöjen kautta, joissa varsinaisen koodin kirjoittamisen sijaan raahataan erilaisia toiminnallisuutta sisältäviä palikoita oikeaan järjestykseen. Tällaisten ohjelmointiympäristöjen käyttö voi olla aikuisellekin ohjelmoijalle ihan hauskaa vaihtelua, joten suosittelen Scratchin kokeilua ihan kaikille iästä ja ohjelmointitaustasta riippumatta. : ) Alkuun pääsee rekisteröitymättäkin, tosin silloin ei voi tallentaa tuotostaan.

Scratchin perusnäkymä

Scratchin perusnäkymä

Scratchilla ja muilla vastaavilla työkaluilla erityisesti grafiikan toteuttaminen on helppoa – valmiina löytyy esimerkiksi “törmääkö tämä hahmo hahmoon X”-palikka, eli on todella helppo ohjelmoida peli, jossa tarkistetaan vaikkapa osuuko pelaajan ohjaama hahmo pisteitä tuottaviin hahmoihin vai kenties pahiksiin. Myös säikeiden käyttö on ainakin osittain todella helppoa, eli hahmot saa helposti tekemään asioita yhtä aikaa. Toisaalta Scratchistä ei löydy esimerkiksi kaksiulotteisia taulukoita, eivätkä lohkot (muissa ohjelmointikielissä: “metodit”) pysty palauttamaan arvoja.

En kirjoita tähän postaukseen varsinaisia ohjeita, kuinka Scratchin kanssa pääsee alkuun, sillä niitä löytyy internetistä jo valmiiksi. Linkki-keskus, joka järjestää mm. lasten ohjelmointikerhoja ja opettajien täydennyskoulutusta, tarjoaa nettisivuillaan paljon Scratchiin liittyviä ohjeita. Tämä ohje kertoo perusteet itse Scratchistä ja ohjelmoinnista, ja tätä postausta varten tekemäni esimerkkipeli on sovellettu tästä ohjeesta.

Yksi lohko Scratch-ohjelmaa

Yksi lohko (“metodi”) Scratch-ohjelmaa. Palikat on jaettu aiheen mukaan eri väreihin, ja ne löytyvät väreittäin jaoteltuna ohjelmointiympäristön eri välilehdiltä

Jos nk. tavallinen ohjelmointi on jo tuttua, Scratchin haltuunotto onnistuu perusohjetta lukemattakin. Kokeilemalla, mitä mikäkin palikka täsmälleen tekee, saa pelejäkin aikaiseksi varsin helposti. Sivustolla on myös loputtoman paljon muiden tekemiä pelejä, joista voi etsiä vinkkejä ja ideoita.

Tämä lentelypeli on hyvin yksinkertainen – siinä on kolme varsinaista hahmoa (“luokkaa”), joista kahdesta luodaan klooneja (“olioita”), jotta peliin saadaan useampia kerättäviä ja väisteltäviä hahmoja. Pelaajan porohahmoa voi liikutella siirtelemällä hiirtä ylös ja alas – lisäksi se ikään kuin lentää koko ajan oikealle, vaikka paikka peliruudulla ei muutukaan. Jos pelaaja osuu lumihiutaleeseen, poro jäätyy hetkeksi paikalleen ennen kuin ohjaamista voi jatkaa. Joulukelloihin osumalla saa pisteitä, mutta jos sellainen ehtii ruudun reunaan, menettää pelaaja pisteitä. Ei tästä ehkä uudeksi Angry Birdsiksi ole, mutta ensimmäiseksi koodausprojektiksi (tai kokeneemman koodarin välipalaksi) tällainen nopeasti valmistuva peli sopii.

Lentelypeli

Tältä näyttää jouluinen lentelypeli. Hahmoina käytetty Scratchin valmiita kuvia.

Kannustan erityisesti niitä lukijoita, joilla on lapsia, kokeilemaan Scratchillä ohjelmointia ja houkuttelemaan lapsensa mukaan. Kaikilla koodaajilla on oma mielipiteensä siitä, mikä ohjelmointikieli on paras ja mitä kannattaa opettaa aloittelijalle, mutta itse en usko siihen olevan yhtä oikeaa vastausta. Jos haluaa tutustuttaa itsensä tai lapsensa ohjelmointiin Javalla tai vaikka C++:lla, niin mikäs siinä, mutta itse suosittelisin ennemmin jotain Scratchin kaltaista. Se ei ole täydellinen kieli, eikä sillä todellakaan pysty toteuttamaan kaikkia mahdollisia asioita, mutta moneen se taipuu joka tapauksessa. Ja kun jonain päivänä huomaa, että jokin asia on liian vaikea toteuttaa Scratchillä, kynnys jatkaa muihin ohjelmointikieliin on toivottavasti pienempi kuin aluksi. : )

Lisää oppimateriaalia Linkin sivuilla – osa sopii lapsenkin luettavaksi, osa vähän kokeneemman ohjelmoijan tai ohjaajan luettavaksi.