Peliohjelmoinnin perusteet Scratchia käyttäen
Materiaalit on lisensoitu Creative Commons BY-SA-lisenssillä, joten voit levittää niitä vapaasti, kunhan alkuperäisten tekijöiden nimiä ei poisteta. Jos teet muutoksia materiaaliin ja haluat levittää muunneltua versiota, se täytyy lisensoida samanlaisella vapaalla lisenssillä.
Alkuperäiset tekijät (2012): Emilia Hjelm ja Arto Vihavainen
Osa 1
Tehtäviä
Tässä oletetaan että olet tehnyt yllä olevien kohtien esimerkit, eli sinulla on oma hahmo, jolla on toiminnallisuus ylöspäin liikkumiseen.
- Lisää toiminnallisuus alas liikkumiselle (nuoli alas)
- Lisää toiminnallisuus vasemmalle liikkumiselle (nuoli vasen)
- Lisää toiminnallisuus oikealle liikkumiselle (nuoli oikea)
- Luo peliin toinen hahmo.
- Lisää uuden hahmon x- ja y- koordinaatit näkyviin. Huomaa että jokaisella hahmolla on oma sijainti! Jokaisella hahmolla on siis oma x- ja y-koordinaatti!
- Lisää uudelle hahmolle mahdollisuus ylös liikkumiseen (näppäimellä w)
- Lisää uudelle hahmolle mahdollisuus alas liikkumiseen (näppäimellä s)
- Lisää uudelle hahmolle mahdollisuus vasemmalle liikkumiseen (näppäimellä a)
- Lisää uudelle hahmolle mahdollisuus oikealle liikkumiseen (näppäimellä d)
Lisää pohdittavaa:
Tässä oletetaan että sinulla on pelissä kaksi hahmoa. Pohdi mitä eroa hahmojen X- ja Y-koordinaateissa tulee olla alla olevissa tilanteissa.
- Milloin hahmo on toisen hahmon yläpuolella?
- Milloin hahmo on toisen hahmon alapuolella?
- Milloin hahmo on toisen hahmon oikealla puolella?
- Milloin hahmo on toisen hahmon vasemmalla puolella?
Lisää tehtäviä
- Tee peliin toiminnallisuus jossa hahmot asetetaan tiettyyn paikkaan aina kun vihreää lippua painetaan. Saat itse päättää hahmojen paikan, älä kuitenkaan pidä niille samaa paikkaa.
- Liitä hahmoon Kynä, joka piirtää viivaa aina kun hahmo liikkuu. Pääset tässä tutustumaan Scratchin kynä-toiminnallisuuteen. Millaista viivaa peli piirtää? Miksi?
Osa 2
Tehtäviä satunnaisuuden harjoitteluun
Tässä oletetaan että olet tehnyt satunnaisuuteen liittyvän kolikkojen keräämisen, eli sinulla on oma peli jossa on satunnaisuutta.
- Toteuta pelille pisteiden laskeminen. Pelissä tulee olla pisteet. Aina kun kissa osuu kolikkoon, pisteiden määrän tulee kasvaa yhdellä. Pelin alkaessa pisteiden laskemisen pitää alkaa nollasta.
- Muuta peliä siten, että kerättäviä kolikoita on kaksi.
Tehtäviä näppäimistön nopeampaan käsittelyyn
- Lisää näppäimistön käsittelyyn liittyvään peliin mahdollisuus hahmon ylöspäin liikkumiseen.
- Luo näppäimistön käsittelyyn liittyvään peliin toinen hahmo. Hahmoa tulee pystyä ohjaamaan näppäimillä w (ylös), s (alas), a (vasen), d (oikea). Toteuta näppäinten w, s, a, ja d käsittely edellisessä esimerkissä näytetyllä tavalla.
Tehtäviä väistelypeliin
Tässä oletetaan että olet tehnyt väistelypelin esimerkkien mukaan, eli sinulla on oma väistelypeli.
- Muuta väistelypeliä siten, että siinä on pisteidenlasku. Aina kun kissa väistää palkin, eli aina kun palkki siirretään takaisin oikeaan laitaan, pisteet kasvaa yhdellä.
- Muuta peliä siten, että väisteltäviä hahmoja on kaksi. Toinen hahmo alkaa liikkumaan kun pisteitä on yli 10.
Osa 3
Tehtäviä kyselyiden harjoitteluun
- Tee kysely, jossa pyydetään käyttäjää laskemaan kahden luvun kertolaskuja. Laskettavat luvut ovat väliltä 1...10.
- Tee kysely, jossa pyydetään käyttäjää laskemaan kahden luvun miinuslaskuja. Laskettavat luvut ovat väliltä 1...100.
- Tee kysely, jossa ensin kysytään käyttäjältä kuinka monta kysymystä kysytään. Kysy tämän jälkeen käyttäjältä käyttäjän antama määrä kysymyksiä. Kysymykset voivat olla esimerkiksi "Paljonko kello on?". Tässä tehtävässä haastava osa on oikean kysymysmäärän kysyminen.
Tehtäviä avaruuslentelyyn
- Lisää avaruuslentelyyn paikallaan olevia asteroideja, joihin pelaaja ei saa osua. Jos alus osuu asteroidiin, peli loppuu.
- Lisää avaruuslentelyyn kolikoita tai vastaavia esineitä, joita pelaajan täytyy kerätä. Jokaisesta kerätystä kolikosta saa pisteitä. Asteroideihin ei vieläkään saa osua.
Tehtäviä avaruusammuskeluun
- Lisää ammuskeluun toinen alus, jota ohjataan näppäimillä a (käänny vasemmalle), d (käänny oikealle), w (liiku eteenpäin). Lisää toiselle alukselle myös ampumistoiminto. Saat itse valita mistä näppäimestä alus ampuu.
- Lisää peliin pisteytys. Jos ensimmäinen alus osuu toiseen, ensimmäinen pelaaja saa pisteitä. Jos toinen alus osuu ensimmäiseen, toinen alus saa pisteitä. Se kumpi saa ensin 10 pistettä voittaa!
Tehtäviä pongiin
- Lisää peliin pisteytys.
- Lisää peliin ajastus. Mitä pidemmällä pelissä ollaan, sitä nopeammin pallon tulee liikkua.
Osa 4
Tehtäviä Slicksiin
- Lisää peliin toiminnallisuudet toiselle hahmolle. Huomaa että saatat joutua muuttamaan myös ensimmäistä hahmoa. Miksi?
- Lisää peliin voittomahdollisuus. Se pelaaja, joka ajaa ensin 3 kierrosta, voittaa pelin.
Tehtävä Oman sisällön tuomiseen
- Etsi netistä hyvä taustakuva pelillesi, ja tallenna se työpöydälle. Hae se Scratchin avulla pelin taustakuvaksi.