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): Jenna Tuominen


Takaisin: Kirjastopaja

Lentelypeli

Pelin toiminta Tarkoituksena luoda sivulta rullaava peli, missä pelihahmon kannattaa väistellä esteitä aarteita keräillessään. Pelissä on vain tietty aika kerätä aarteita.
Vaikeustaso Sopii aloitteluun vaikkakin tätä ennen voi olla hyvä tehdä jo ainakin yksi helpompi peli niin ihan kaikki ei ole uutta.
Oppimistavoitteita - Tutustutaan koordinaatistoihin.
- Tutustutaan satunnaisuuteen.
- Opitaan luomaan hahmoja, jotka liikkuvat itsekseen tai näppäimistösyötteillä.
- Opitaan luomaan eri hahmojen välisiä vuorovaikutuksia ja jakamaan ohjelman tehtäviä oikeille hahmoille.
- Opitaan silmukoiden käyttöä ja ehtolauseita.
- Opitaan käyttämään muuttujia muistettavina arvoina ja apumuuttujina.
- Opitaan kloonien käyttöä.
Toimiva versio Lentelypeli mallina Scratchissa
Variaatioita toteutuksessa Pelissä voi vapaasti valita missä väliaineessa liikutaan; ilmassa, vedessä, maalla vai maassa.

Kuvia mallipelistä:

Työvaiheet:

Väriselite:

Oppimistavoite
Tarkennus tekotapaan
  1. Pelihahmon liikuttelu
    Opitaan toteuttamaan käyttäjän nuolin liikuteltava hahmo. Tutustutaan koordinaatistoon.
    1. Pelihahmo menee vasempaan laitaan alussa
    2. Pelihahmo liikkuu ylös/alas -nuolista
    3. Toimivin tapa toteuttaa tämä on ikuisesti kysellä vuorotellen kummaltakin näppäimeltä ovatko ne painettuna.

  2. Toteuta häiriötekijöiden lähde
    Tutustutaan kloonien luontiin.
    1. Aseta alkuperäinen häiriötekijä piiloon
    2. Alkuperäinen luo klooneja itsestään ikuisesti 0.5 s välein
    3. Ikuisesti-silmukan sisällä odota kunkin kloonin luomisen jälkeen 0.5 s.

  3. Toteuta häiriötekijöiden toiminnallisuus
    Tutustutaan kloonien käskyttämiseen.
    1. Kloonin syntyessä aseta se oikeaan laitaan (x=240)
    2. Aseta klooni satunnaiselle korkeudelle
    3. Aseta tietokone heittämään noppaa korkeudesta. Tähän löytyy sopiva komento Toiminnoista missä voi pyytää satunnaislukua. Aseta kloonin y-arvoksi tämä palikka.
    4. Aseta klooni näkymään
    5. Klooni liikkuu ikuisesti vasemmalle
    6. Muuta kloonin x-arvoa ikuisesti jollain sopivalla negatiivisella luvulla.
    7. Klooni häviää vasempaan laitaan osuessaan
    8. Jokaisen paikan siirron jälkeen testaa onko x<-230. Jos on niin poista kyseinen klooni.

  4. Luo aarre
    1. Kopioi kaikki häiriötekijän käskyt myös aarteelle
    2. Oikeassa ohjelmoinnissa kannattaa aina välttää kopiointia. Hienomman tason olio-ohjelmointikielissä olisi kannattanut tehdä Vastaantuleva-"hahmo", joka olisi osannut ilmestyä oikeaan laitaan ja kulkea vastaan. Sitten Häiriötekijä ja Aarre olisivat voineet periä Vastaantulevan toiminnallisuuden perustoiminnallisuudekseen.
      Mene häiriötekijän skripteihin ja siirrä skriptit kokonaisina aarre-hahmon päälle niin, että hiiriosoitin on hahmon päällä. Kun tiputat ne aarre-hahmolle niin skriptit vain kopioituvat, eivät häviä häiriötekijältä.
    3. Luo aarre klooneja eri aikavälein ja aseta ne liikkumaan eri nopeudella kuin häiriötekijä
    4. Aseta aarre-klooni taaimmaiseksi esiintymislavan hahmoksi heti näyttämisen jälkeen
    5. Siirrä kloonia varmuuden vuoksi vaikka 100 tasoa taaksepäin niin se on varmasti taaimmaisin.

  5. Pisteet
    Opitaan käyttämään muuttujia apuna numeroiden muistamiseen.
    Toteuta nämä aarteen skripteihin, koska se on pelissä juurikin pisteiden vuoksi.
    1. Muuttujan "pisteet" luonti ja alustus
    2. Pisteiden kasvatus aina kun pelihahmo koskettaa aarretta
    3. Kloonit voivat odottaa kunnes koskettavat pelihahmoa ja kasvattaa sitten pisteitä yhdellä.
    4. Aarteen poisto pisteiden saamisen jälkeen

  6. Häiriötekijä jäädyttää hetkeksi pelihahmon
    Lisää pelihahmon nuolinäppäinten tarkastelun kanssa samaan silmukkaan tarkastus, että kosketaanko häiriötekijään. Jos kosketaan niin odotetaan 0.5 s. Tällöin silmukka testaa siis seuraavan kerran halutaanko siirtyä ylös tai alas vasta puolen sekunnin jälkeen.

  7. Peliajan rajoittaminen
    1. Käynnistä peliajan laskenta kun peli käynnistetään
    2. Peliajan laskentaan on toki ajastinkin, mutta tässä tarkoituksessa riittää yksinkertainen "odota 30 sekuntia" -palikka.
    3. Pelihahmo sanoo 2 s kuinka monta pistettä pelaaja sai kerättyä
    4. Katenointiin, eli merkkijonojen yhdistämiseen, tutustuminen.
      Täyden lauseen tästä ilmoituksesta saa jos käyttää Toiminnoista löytyvää "yhdistä _ ja _" -palikkaa. Ensimmäiselle puolelle voi kirjoittaa lauseen alkupuolen (sisältäen viimeisen välilyönnin) ja toiselle puolelle syöttää muuttuja-palikan niin ohjelma etsii oikean numeron lauseeseen.
    5. Pysäytä peli