Tällä tunnilla tarkoituksena on rakentaa hauska selviytymispeli Scratchilla.
Pelin idea on yksinkertainen: sinun täytyy väistellä satunnaisesti liikkuvia hahmoja. Jos keskushahmo osuu muihin hahmoihin, peli päättyy häviöön. Jos onnistut välttämään törmäyksiä 20 sekuntia, voitat pelin.
Esimerkkejä selviytymispelistä:
Seuraavassa on vaiheet, joiden avulla rakennamme pelin yhdessä:
Valitse pelille tausta Scratchin valmiista taustoista tai piirrä oma tausta.
Voit valita esimerkiksi avaruusteeman tai yksinkertaisen väripohjan.
Luo yksi hahmo, joka sijoitetaan keskelle ruutua. Tämä hahmo on pelaajan ohjattava hahmo.
Aseta hahmo keskelle koordinaatteihin x = 0 ja y = 0.
Koodaa hahmo liikkumaan nuolinäppäimillä: ylös, alas, oikealle ja vasemmalle.
Luo kolme muuta hahmoa, jotka liikkuvat satunnaisesti näytöllä.
Käytä satunnaislukuja x- ja y-koordinaateille, jotta hahmot liikkuvat eri suuntiin.
Pelin tavoitteena on väistellä muita hahmoja. Jos keskushahmo koskettaa toista hahoa, peli loppuu.
Koodaa keskushahmo sanomaan “Hävisit pelin!” tai jokin muu hauska viesti.
Tähän asti pelin voi koodata pyörimään “ikuisesti”-silmukassa, eli peli jatkuu niin kauan, kunnes se hävitään.
Luo muuttuja kello, joka mittaa aikaa.
Koodaa pelin voittaminen: käytä silmukkaa “toista 20 kertaa” ja vähennä kelloa joka sekunti. Jos pelaaja onnistuu väistelemään hahmoja 20 sekuntia, peli päättyy voittoon.
Ikuisesti-silmukka: Tämä toistaa silmukan sisällä olevia toimintoja loputtomasti. Käytä tätä liikuttamaan hahmoja jatkuvasti.
Satunnaisluvut: Voit asettaa hahmojen x- ja y-arvot satunnaisesti väliltä -240 ja 240 (x-akseli) sekä -180 ja 180 (y-akseli). Näin hahmot liikkuvat satunnaisesti ruudulla.
Muuttujat: Käytä muuttujaa “kello” ajan mittaamiseen. Aseta kello arvoon 20 ja vähennä aikaa sekunnin välein. Jos kello menee nollaan, pelaaja voittaa.
Muista tallentaa työsi säännöllisesti, jotta mikään ei katoa! Voit tallentaa projektisi valitsemalla Tallenna nyt käyttöliittymän oikeasta yläkulmasta tai valitsemalla “Tiedosto” ja sitten “Tallenna nyt”.
Tällä tunnilla olemme oppineet:
Eventit eli tapahtumat: Eventtien avulla voidaan välittää tietoa hahmojen välillä. Esimerkiksi kun keskushahmo osuu toiseen hahmoon, se voi lähettää tapahtuman “hävisit”.
Alla olevassa esimerkissä sammakko on lähettäjä ja kun sitä klikataan se lähettää eventin nimeltä sanoMoi. Rapu on vastaanottaja ja saadessaan viestin se sanoo Moi!
Ikuisesti-silmukka: Tämä toistaa silmukan sisällä olevia toimintoja ikuisesti. Käytetään hahmojen liikkumiseen ja tapahtumien toistamiseen.
Satunnaisluvut: Voidaan käyttää esimerkiksi hahmojen sijainnin tai liikkeen määrittämiseen. Näin hahmojen liikkeet ovat arvaamattomia.
Muuttujat: Muuttujat, kuten “kello”, tallentavat tietoa, jota ohjelma voi käyttää ja muuttaa. Esimerkiksi kellon arvoa vähennetään, kun aika kuluu pelissä.
Tämän harjoituksen jälkeen osaat luoda oman selviytymispelin ja käyttää ohjelmoinnissa tapahtumia, silmukoita, satunnaislukuja sekä muuttujia.