Materiaalit on lisensoitu Creative Commons BY-NC-SA-lisenssillä, eli materiaalin levittäminen ja muokkaaminen on sallittu, kunhan tekijöiden nimet säilyvät mukana ja jatkoversiot julkaistaan samalla lisenssillä. Kaupallinen käyttö kielletty.

Alkuperäinen tekijä (2014): Matti Tahvanainen


Takaisin: Syksy 2014

Jetpack Joulupukki

Pelin toiminta Tarkoituksena lentää hahmolla ruutujen välillä. Esimerkissä hahmona on joulupukki, jonka pitää hakea Masan lahjat kahdelta tontulta. Masa on surullinen, jos hänelle ei tuoda molempia lahjoja. Tontut löytyvät esimerkkipelissä lentämällä aloitusruudusta oikealle, sekä aloitusruudusta alas. Masa löytyy lentämällä aloitusruudun yläreunaan.
Vaikeustaso Esimerkkipeli on tehty käyttämällä lohkoja ja listoja. Pelistä voi tehdä myös yksinkertaisemman version jättämällä lohkot ja painovoiman tekemättä, jolloin se sopii myös aloittelijoille. Esimerkkipeli on tehty lohkoilla ja listoilla, koska niiden avulla peliä voi helposti laajentaa isommaksikin seikkailupeliksi.
Oppimistavoitteita - Tutustutaan painovoiman tekemiseen
- Pelien tarinoiden teko - "Peliloopin" rakenne
- Lohkojen ja listojen kertausta
Toimiva versio Joulupukki jetpack mallina Scratchissa
Variaatioita toteutuksessa Toteutukseen käy kaikki erinäiset teemat, joissa hahmoille lennellään ja seikkaillaan monissa eri taustoissa.

Kuvia mallipelistä:

Tulee myöhemmin

Työvaiheet:

Väriselite:

Oppimistavoite
Tarkennus tekotapaan
  1. Pelin tarinan luonti
    Opitaan keksimään peliin tarina.
    1. Pelihahmojen ja peliympäristön suunnittelu
    2. Ennen kuin pelin tarinaa alkaa miettimään, kannattaa suunnitella pelihahmot ja pelin ympäristö. Mitä hahmoja pelissä on ja millainen pelimaailma on?
    3. Tarinaruudun teko
    4. Kun pelihahmot ja peliympäristö on suunniteltu, voi alkaa miettimään pelin tarinaa. Esimerkkipelissä pelin päähahmona on joulupukki ja hän etsii lahjoja Masa-nimiselle henkilölle. Tarina syntyy nyt varsin helposti, koska hahmot ovat suunniteltu valmiiksi. Tehdään tausta, johon kirjoitetaan tarina.
    5. "Aloita"-nappi
    6. Luodaan "Aloita"-nappi hahmona. Nappi on näkyvissä pelin alussa. Nappia klikatessa se lähettää viestin, joka kuvaa pelin aloittamista, jonka jälkeen nappi piilotetaan.
    7. Ensimmäinen seikkailutausta
    8. Piirretään ensimmäinen pelitausta. Tästä taustasta päähahmomme aloittaa seikkailun.
    9. Joulupukki aloituskohtaan
    10. Laita joulupukki aloittamaan keskeltä vasenta laitaa

  2. Pelisilmukan rakenne
    Pelisilmukka tarkoittaa toistorakennetta, jossa suoritamme kaikki peliin liittyvät käskyt. Tehdään tämä tässä pelissä päähahmolle. Jaetaan kaikki käskyt mahdollisimman pieniin ja yksinkertaisiin lohkoihin, sekä alilohkoihin. Kaikkien pelien silmukka voidaan hieman yksinkertaistettuna jakaa seuraaviin osiin: syötteiden tarkistus, pelimaailman päivitys ja pelimaailman piirto. Tehdään päähahmollemme vastaavanlainen pelisilmukka omista palikoista (kuva). Pelisilmukoiden rakenteesta voi lukea tarkemmin esimerkiksi Sanjay Madhavin kirjasta "Game Programming Algorithms and Techniques". Luodaan pelimme päähahmo, jonne rakennamme pelisilmukan.
    1. Tarkista Näppäimet -palikka
    2. Muuttujan xNopeus tekeminen. Tehdään tarkistukset, onko painettu vasemmalle tai oikealle (Tarkista Näppäimet -palikkaan). Muutetaan hahmon x:n arvoa xNopeuden verran, jos on painettu oikealle ja xNopeus * -1 verran, jos on painettu vasemmalle.
    3. Päivitä-palikka ja painovoima
    4. Luodaan muuttuja yNopeus ja lohko Tarkista Painovoima. Lohkossa pienennämme yNopeuden arvoa, jos se on suurempi kuin jokin haluamamme painovoiman raja (esim. -5). Tarkistus tehdään siksi, koska emme halua hahmomme tippuvan rajattoman nopeasti. Päivitä-lohkossa ensin Tarkistetaan Painovoima, jonka jälkeen muutetaan hahmon y:n arvoa arvolla yNopeus. Lisätään Tarkista Näppäimet -lohkoon lentämisnäppäin, missä asetamme yNopeuden haluamaamme arvoon (esim. 1.5). Nyt hahmomme osaa lentää!
    5. Piirrä-palikka
    6. Lisätään Piirrä-palikkaan ehto asusteiden piirtämiselle. Jos lentämisnäppäin on painettu, piirrämme lentämisasusteen. Muuten piirrämme oletusasusteen. Voimme myöhemmin lisätä tähän palikkaan ehdon päähahmomme piirtämättä jättämiselle.

  3. Taustan vaihto
    1. Uuden pelitaustan teko
    2. Tehdään uusi pelitausta, missä päähahmomme voi lennellä. Annetaan ensimmäiselle pelitaustalle nimeksi x1y1. Toiselle taustalle voimme antaa nimeksi esimerkiksi x2y1. Tällöin voimme ajatella toisen taustan olevan ensimmäisen oikealla puolella.
    3. Taustat listaan
    4. Tehdään lista nimeltä "Kartta". Sinne laitamme kaikkien pelitaustojemme nimet. Tällä hetkellä listassa on siis "x1y1" ja x2y1".
    5. Lohko Tarkista Taustan Vaihto
    6. Tehdään lohko Tarkista Taustan Vaihto. Lohkoa kutsutaan Päivitä-lohkosta. Tehdään lohkoon tarkistus, onko päähahmomme x-sijainti mennyt yli oikean reunan.
    7. Lohko Vaihda Taustaa xMuutos yMuutos
    8. Luodaan muuttujat X ja Y, jotka kertovat missä taustassa päähahmomme kullakin hetkellä on. Tehdään lohko Vaihda Taustaa xMuutos yMuutos. x ja y -muutokset ovat numerosyöttöjä. Kutsutaan Vaihda Taustaa arvoilla 1 ja 0, jos hahmomme on mennyt taustan oikeaan laitaan.
    9. Taustan vaihto
    10. Muutetaan äsken tehdyn lohkon alussa muuttujien X ja Y arvoja xMuutoksella ja yMuutoksella. Sen jälkeen vaihdamme taustaa muuttujien X ja Y avulla eli "yhdistä x ja yhdistä X ja yhdistä y ja Y". Laitetaan tämän jälkeen hahmo alustavasti menemään kohtaan 210 ja 0.
    11. Taustan vaihto toimimaan oikein
    12. Saimme taustan vaihtumaan nyt kerran, mutta se ei toimi kunnolla. Lisätään Vaihda Taustaa xMuutos yMuutos -lohkoon tarkistus, löytyykö tausta, johon yritämme siirtyä, kartta-listasta. Eli jos kartta säsältää "yhdistä x ja yhdistä X ja yhdistä y ja Y", niin vaihdamme taustaksi uuden taustan, joka löytyy kartastamme. Siirrämme tässä yhteydessä hahmon myös kohtaan. Esimerkkipelissä se tapahtui kaavalla "mene kohtaan x: 210 * xMuutos * -1 y: yMuutos * -1 * 150" Jos kartta ei sisällä taustaa (muuten-haara), niin muutamme muuttujan Y arvoa yMuutos * -1 ja X arvoa xMuutos * -1. Lisää lohkoon Tarkista Taustan Vaihto ehdot myös vasemmalle, ylä, sekä alareunalle.

  4. Tontut pelitaustoihin
    1. Ensimmäisen tontun piirtäminen
    2. Tonttu piiloon pelin alussa
    3. Tonttu näkyviin, jos tausta on sopiva
    4. Tee tontulle ikuinen toisto, jossa tarkistat, onko taustan nimi se, missä haluat näyttää tontun. Esim. jos taustan nimi = x2y1 sitten näytä.
    5. Toinen tonttu toiseen pelitaustaan

  5. Lahjojen saaja näkyviin ja joulutervehdys
    1. Piirrä viimeinen pelitausta ja nimeä aikaisemman käytännön mukaan
    2. Piirrä lahjojen saaja (esim. Matti)
    3. Aseta lahjojen saaja sopivaan paikkaan taustassa
    4. Lahjojen saaja näkyviin vastaavalla tavalla kuin tontut
    5. Tee muuttujat "eka lahja haettu" ja "toka lahja haettu" ja alusta ne arvoon "ei"
    6. Aseta muuttuja "eka lahja haettu" arvoon "joo", jos se on koskettanut ensimmäistä tonttua
    7. Aseta muuttuja "toka lahja haettu" arvoon "joo", jos se on koskettanut toista tonttua
    8. Lahjojen saaja tarkistaa lahjat
    9. Lisää lahjojen saajalle tarkistus, onko joulupukki hakenut tontuilta lahjat. Eli tarkista, jos eka lahja haettu on yhtäsuuri "joo" JA toka lahja haettu on yhtä suuri kuin "joo". Jos näin on lahjojen saaja on iloinen ja sanoo hyvää joulua. Muuten hän on surullinen ja hänellä ei ole kivaa. Molemmissa tapauksissa peli päättyy.