maanantai 24. marraskuuta 2014

Jatkoa visailupelille

Tällä kertaa jatkettiin visailupeliä. Monilla oli vielä lisättävänä uusia kysymyksiä, ja lisäksi useiden mielestä oli hyvä lisätä peliin tapahtumia. Esimerkiksi ohjaajan visailussa on nyt jalkapalloaiheinen tausta ja henkilö (joku kylläkin huomautti, että hahmo on erotuomari eikä pelaaja). Pelissä on myös jalkapallo, joka lentää maaliin tai ohi sen mukaan, saako pelaaja vastauksen oikein vai väärin.

Jalkapallon toiminta on toteutettu viesteillä. Viestit kulkevat Scratchissa skriptien välillä eivätkä siis suoraan näy pelaajalle. Erotuomarihahmon skriptiin lisättiin "lähetä (viesti)"-palikat, jotka lähettävät viestin "oikein" tai "väärin" sen mukaan, menikö vastaus oikein vai väärin:


Sitten jalkapallolle voidaan tehdä skriptejä, jotka suoritetaan viestin saapuessa. Esimerkiksi "kun vastaanotan (oikein)" käynnistää skriptin, joka liu'uttaa pallon maaliin:


Vastaavasti "kun vastaanotan (väärin)" liu'uttaa pallon huti. Jotta pallo näyttää menevän kauas, pienennetään sen kokoa. Viesteillä saa aikaan usean skriptin suorittamisen yhtä aikaa. Tässä sekä liukuminen että koon pienentäminen alkavat viestin "väärin" saapuessa.


Kerhossa kysyttiin myös, miten kysymystä saa toistettua, jos pelaajan vastaus menee väärin. Yksi tapa tehdä tämä on käyttää "toista kunnes" -palikkaa:



maanantai 17. marraskuuta 2014

Visailupeli

Ensiksi kokeiltiin erään kerholaisen leirillä tekemää donitsipeliä. Kannattaa katsoa pelin sisälle, niin näkee että peli ei ole ollut ihan helppo tehdä.

Tunnin varsinaisena sisältönä oli visailupeli (ohjaajan versio). "Kysy - - ja odota" -palikalla voi kysyä pelaajalta vastauksen. "Vastaus"-palikka mahtuu esimerkiksi yhtäsuuruuspalikan hahloon, ja yhtäsuuruuspalikka puolestaan "jos - - sitten - - muuten" -palikan hahloon. Näin kissan saa kysymään jalkapalloaiheisen kysymyksen ja kertomaan, menikö vastaus oikein vai väärin:


Lopussa on odotuspalikka, jotta kissan sanoma tulos ehtii näkyä. Kysymyksiä voi lisätä helpoiten niin, että klikkaa hiiren oikealla napilla "kysy - - ja odota" -palikkaa ja valitsee aukeavasta valikosta "kopioi".

Jotkut ehtivät toteuttaa peliinsä myös pistelaskun. Tätä varten valitaan "Tieto"-palikoiden alta "Tee muuttuja" ja annetaan muuttujan nimeksi vaikkapa "pisteet":


Pelin alkuun lisätään "aseta pisteet arvoon 0" ja jokaisen oikean vastauksen yhteyteen ("jos"-palikan "sitten"-haaraan) "muuta muuttujan pisteet arvoa 1".

tiistai 11. marraskuuta 2014

Sokkelopelin jatkoa

Eilen jatkettiin sokkelopelin kehittämistä. Ensinnäkin korjattiin kissan liikkuminen niin, että se ei pääse enää seinien läpi. Seuraava skripti näyttää, miten ylöspäin liikkuminen saadaan toimimaan.


Idea on, että kissa liikkuu ensin ylös (y-koordinaatin arvo kasvaa), mutta jos se sen jälkeen koskettaa mustaa väriä, se liikkuu heti takaisin (y-koordinaatin arvo pienenee). Liikkuminen on niin nopeaa, että pelaaja ei huomaa mitään. Muita liikkumisskriptejä pitää tietysti muokata vastaavalla tavalla.

Sininen "koskettaako väriä"-palikka on erilainen kuin muut. Siinä on kuusi kulmaa, ja se sopii jos-palikan kuusikulmaiseen aukkoon. Palikan teksti on suomeksi vähän kömpelö, mutta idea on joka tapauksessa, että jos kissa koskettaa mustaa väriä, suoritetaan jos-palikan sisällä oleva skriptin osa.

Skriptiä muokatessa monella tuli pieniä ongelmia. Ensinnäkin "koskettaako väriä"-palikan väri on hieman hankala asettaa: ensin klikataan palikan värineliötä, sitten haetaan pelin sisältä haluttu väri ja klikataan sitä. Tämä vaatii usein muutaman yrityksen, ennen kuin värin saa asetettua täsmälleen oikein. Sen jälkeen palikkaa kannattaa kopioida klikkaamalla sitä oikealla napilla ja valitsemalla "kopioi".

Ainakin yhdellä oppilaalla sokkelon seinät olivat osittain mustia ja osittain harmaita. Silloin voi käyttää "tai"-palikkaa:

Tämä palikka on kuusikulmion muotoinen ja sisältää kuusikulmioaukot. Kovin monen eri värin testaaminen käy työlääksi, mutta se on mahdollista ketjuttamalla tai-palikoita.

Toinen esiintynyt ongelma oli, että kissa jäi jumiin joihinkin sokkelon osiin. Silloin voi joko pienentää kissan tekemien liikkeiden pituutta 10 askelesta esim. 5:een, mutta toinen ratkaisu on pienentää kissan kokoa, jotta se mahtuu sokkeloon paremmin. Näytön yläosassa on viisi kuvaketta:


Kuvakkeiden merkitys on vasemmalta luettuna kopiointi, poistaminen, suurennus, pienennys ja aputoiminto (ikävä kyllä vain englanninkielinen). Kun klikkaa pienennyskuvaketta ja sen jälkeen muutaman kerran hahmoa, hahmo pienenee ja mahtuu liikkumaan paremmin.

Liikkumista testaillessa voi käydä myös niin, että hahmo menee seinän sisään mutta ei pääse enää liikkumaan minnekään. Silloin voi pelastaa tilanteen siirtämällä hahmoa hiirellä.

Toinen asia on kissan törmääminen viholliseen. Ohessa on yksi ratkaisu. Vihreä lippu tarkoittaa pelin alkua, joten seuraava skripti vie kissan pelin alussa aloituspaikkaan. Sen jälkeen skripti jää odottamaan, koskettaako kissa viholliseen (käytin vihollisena lepakkohahmoa, jonka nimi on Bat2). Jos kissa osuu lepakkoon, se liukuu heti takaisin aloituspaikkaan. Koska odotus ja liu'unta ovat "ikuisesti"-palikan sisällä, skripti jää odottamaan seuraavaa kosketusta. Jos ikuisesti-palikka puuttuu, se huomaisi vain ensimmäisen osuman.


Mitä seuraavaksi? Sokkeloon voisi vielä lisätä jonkin aarteen, jota kissa on tavoittelemassa. Pelissä voisi myös olla ääni- ja kuvatehosteita. Ohjaajan versio tähänastisesta pelistä on Sokkelo 2.


maanantai 3. marraskuuta 2014

Sokkelopelin alkua

Tänään aloiteltiin sokkelopelin kehittämistä. Tavoitteena on peli, jossa hahmolla pitää kulkea sokkelon läpi aarteen luokse vastustajia väistellen. Tällä kertaa ehdittiin kokeilla, miten hahmon saa liikkumaan nuolinäppäimillä ja miten taustakuvia voi piirtää.

Jotta kissan saa liikkumaan nuolinäppäimillä, pitää osata vähän geometriaa. Täytyy muistaa, että x-koordinaatti kasvaa oikealle ja pienenee vasemmalle, ja y-koordinaatti vastaavasti kasvaa ylös ja pienenee alas kuljettaessa. Koordinaatin saa kasvamaan lisäämällä sen arvoon jonkin sopivan luvun (esimerkiksi 10) ja pienenemään lisäämällä negatiivisen luvun (esimerkiksi -10).

Koordinaatiston lisäksi pitää tietää, miten koordinaattien muuttaminen liitetään näppäimiin. Tapahtumapalikoiden joukossa on palikka, jonka tekstinä on "Kun painetaan välilyönti". Välilyönnin tilalle voi vaihtaa nuolinäppäimen ja yhdistää liikkumispalikoihin. Seuraavassa kuvassa näkyy ratkaisu: nuolet oikealle ja vasemmalle muuttavat x:n arvoa, nuolet ylös ja alas muuttavat y:n arvoa. Silloin kun kuljetaan koordinaattiakselien suuntaan, lisätään arvoon positiivinen luku, vastakkaiseen suuntaan mennessä lisätään negatiivinen luku eli luku, jonka etumerkkinä on miinus. Miinusnäppäin on näppäimistön alarivissä pisteen oikealla puolella, ö:n ja ä:n alapuolella.


Taustakuvan piirtämiseksi pitää ensin valita hahmon sijasta "esiintymislava", sitten sille voi piirtää taustan. Klikattavat kohdat on merkitty kuviin punaisilla nuolilla. Näytön oikealla puolella on tilaa piirtää, ja kun piirtäminen tulee valmiiksi, voi klikata taas hahmon kuvaa. Seinät kannattaa piirtää kaikki jollain värillä (esim. mustalla) jota taustassa ei muuten esiinny.

 
Mitä seuraavaksi? Useat oppilaat ehtivät myös lisätä sokkeloonsa liikkuvia vihollisia. Yksi tapa tehdä sellainen on esitetty alla: vihreä lippu merkitsee pelin alkua, ja laittamalla kaksi liukumispalikkaa toistopalikan ("ikuisesti") sisään saa vihollisen liikkumaan haluttujen koordinaattien välillä.


Pelissä on toistaiseksi sellainen puute, että hahmo pystyy liikkumaan sokkelon seinien läpi. Myöskään vihollishahmoon törmääminen ei haittaa sitä toistaiseksi millään tavalla. Näitä ongelmia ratkotaan seuraavalla kerralla, mutta jos joku haluaa miettiä niitä itse, ehkä seuraavista palikoista voi olla apua:


Jos-palikka löytyy osastolta "ohjaus", kosketuspalikat osastolta "tuntoaisti". Näiden sisään pitää laittaa vielä muita palikoita, jotta kosketuksella on jonkinlainen vaikutus.

Niille, jotka eivät ehtineet kerhoon tällä kertaa, tässä ohjaajan oma näkemys sokkelopelin aluksi: Sokkelo 1. Kun Scratchiin kirjautuu tuolta sivulta ja valitsee "Katso sisälle" ja sen jälkeen "Remixaa", voi aloittaa oman sokkelopelinsä suunnilleen samanlaisesta vaiheesta, johon läsnäolleet ehtivät.