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: Syksy 2014

Sukelluskeräily

Pelin toiminta Tarkoituksena luoda pelaaja, joka kerää erinäisiä aarteita ja väistelee vihollista. Lisäksi pelaajan tulee käydä pinnalla hengittämässä aika ajoin. Pelilaudalle voi myös luoda erinäisiä häiriötekijöitä.
Vaikeustaso Pelin yksinkertaisempi versio sopii loistavasti ensimmäiseksi peliksi aloittelijoille.

Tämä versio sopii paremmin edistyneemmille. Pelissä käytetään muuttujia monipuolisemmin (happisäiliö), tehdään klooneja (häiriötekijät) ja jos aarretta päätetään vaihtaa niin tekijöiden tarvitsee ymmärtää jo selvemmin miten tietokone tulkitsee komennot.

Oppimistavoitteita - Tutustutaan koordinaatistoihin ja suuntiin.
- 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.
- Tutustutaan aliohjelmien (lohkot) käyttöön.
- Opitaan käyttämään muuttujia muistettavina arvoina ja apumuuttujina.
- Tutustutaan satunnaisuuteen ja todennäköisyyksiin.
- Tutustutaan merkkijonojen katenointiin.
- Opitaan kloonien käyttöä.
Toimiva versio Sukelluskeräily mallina Scratchissa
Muut mallit "Rasti-ruutuun" -tehtälistaus oppilaalle
Variaatioita toteutuksessa Toteutukseen käy kaikki erinäiset teemat, joissa asioita voi kerätä, löytyy jokin perusvihollinen ja pelaajan pitää aika-ajoin käydä jossain tietyssä kohdassa esiintymislavaa tankkaamassa/hengähtämässä/ym.

Kuvia mallipelistä:

Työvaiheet:

Väriselite:

Oppimistavoite
Tarkennus tekotapaan
  1. Pelihahmon liikuttelu
    Opitaan toteuttamaan käyttäjän nuolin liikuteltava hahmo. Tutustutaan koordinaatistoon ja suuntiin.
    1. Pelihahmo liikkuu nuolilla
    2. Älä käytä "kun painetaan näppäin"-palikoita, ne eivät toimi halutusti jos painetaan useita nuolinäppäimiä yhtä aikaa. Toteuta ennemmin rakenne, jossa ikuisesti kysellään vuorotellen kaikilta näppäimiltä ovatko ne painettuna.
    3. Pelihahmo kääntyy kulkusuuntaansa
    4. Hahmo voi joko näyttää kulkevan kaikkiin nuolen suuntiin tai osoittaa erikseen vain oikealle ja vasemmalle. Pelihahmon pyörimistavan voi valita (i)-nappulasta hahmon päältä, tai ohjelmassa alkaessa "aseta pyörimistapa"-palikalla.
    5. Pelihahmo voi siirtyä sivureunojen "läpi"
    6. Eli hahmo siirretään vasemmasta laidasta oikeaan, tai päinvastoin, kun sivulle-nuolia käytetään.

  2. Toteuta aarre
    1. Aarre liikkuu itsekseen
    2. Aarre voi mm. liikkua jatkuvasti eteenpäin ja kimmota reunoista, vajota hiljakseen pohjaa kohti tai koittaa karata pelaajalta.
    3. Aarre etsii sopivan paikan itselleen
    4. Tutustutaan lohkojen käyttöön. Lohkossa on yksi osa toiminnasta eriytetty omaksi toiminnokseen. Tämä mahdollistaa toiminnon käyttämisen yhdellä kutsulla useammassa kohdassa peliä. Hyvä aliohjelmien nimeäminen helpottaa ohjelman lukemista.
      Toteuta tämä lohkona "EtsiPaikka". EtsiPaikka-lohkon tehtävänä on etsiä satunnaisia paikkoja kunnes aarre ei koske pelaajaan.

  3. 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. Aarre etsii uuden paikan joka kerta kun pisteet kosketuksesta on annettu
    4. Kutsu nyt aiemmin toteutettua EtsiPaikka-lohkoa.

  4. Tee vihollinen
    1. Vihollinen liikkuu jatkuvasti pelaajaa kohti
    2. Vihollisen koskiessa pelaajaa skriptien pysäytys (game over)
    3. Game overin voi toteuttaa helposti "pysäytä kaikki"-palikalla. Jos halutaan näyttää viesti häviöstä pitää se tehdä ennen tätä pysäytystä ja laittaa skripti odottamaan hetken, jotta pelaaja ehtii lukea sen. Myös "lähetä viesti"-palikoihin vastaaminen kestää hetken ohjelmalta.

  5. Aseta viholliselle ja pelaajalle aloituspaikat

  6. Happisäiliö
    Opitaan muuttujien käyttöä ja ajastetusti tapahtuvaa toimintaa. Jaetaan myös selvästi tehtäviä niille hahmoille, joiden vastuuna ne ovat.
    1. Toteuta happitilanne ja sen lasku ajastetusti
    2. Kuvaa happitilannetta muuttujalla. Aseta muuttuja tippumaan jatkuvasti tietyin aikavälein maksimiarvosta (100) kohti minimiarvoa (0). Huomaa, että happisäiliön täyttö pinnalla ei vaikuta tähän toimintoon, vain asettaa uudelleen muuttujan arvon.
    3. Toteuta happitilanteen näyttämiseen ikoni
    4. Katenointiin tutustuminen.
      Tee ilmasäiliöhahmolle useita asusteita kuvaamaan happisäiliön eri täyttösuhteita. Nimeä asusteet systemaattisesti: {nimi}{#täyttösuhde} (esim. happi100, happi50, happi25), jotta ohjelma osaa luoda nimen automaattisesti. Aseta jokaisen happitilanteen muuton jälkeen hahmon asusteeksi "yhdistä {nimi} ja {#happitilanne}". Kaikille happitilanteille ei asustetta toki tarvitse olla sillä jos asetettavaa asustetta ei ole niin hahmon sen hetkinen asuste ei vaan yksinkertaisesti muutu.

      HUOM. erityisesti välilyönnit asusteiden nimissä aiheuttavat helposti eroavaisuuksia kootuissa ja olemassa olevissa nimissä.

    5. Täytä happi maksimiin pintautuessa
    6. Hahmon sijainnista on ensisijaisesti vastuussa itse pelihahmo. Toteuta tämä sen skripteissä.
    7. Game over jos happi loppuu
    8. Pimennä taustaa asteittain hapen ollessa loppumaisillaan vinkkinä pelaajalle
    9. Tausta on ensisijaisesti Esiintymislavan ongelma, joten toteutetaan tämä siellä. Esiintymislava voi jatkuvasti odottaa kunnes happitilanne alkaa olla alhainen ja tämän jälkeen himmentää taustaa kunnes tilanne on jälleen tarpeeksi hyvä. Muista poistaa himmennys pelin aluksi sekä happitilanteen parannuttua.

  7. Pikkukaloja häiriötekijöiksi
    Tutustutaan kloonien toteuttamiseen. Klooneilla saadaan helposti useita "hahmoja" tekemään samaa asiaa ilman, että samat skriptit pitää raa'asti kopioida niille kaikille.
    1. Luo kymmenisenkunta kloonia satunnaisiin paikkoihin
    2. Luo alkuperäisellä hahmolla kloonit (pidä alkuperäinen versio piilossa, vain kloonien tarvitsee osata toimia). Laita satunnaisen paikan arpominen (vrt. hyvin monisivuinen noppa) kloonin alustukseen ja aseta klooni näkyviin.
    3. Aseta kloonit liikkumaan
    4. Kloonit pysyvät näkyvissä game overin jälkeenkin
    5. Kloonit häviävät kun game over pysäyttää kaikki skriptit. Kloonit voivat jättää jälkeensä kuitenkin leiman. Tämän leiman ne osaavat oikealla hetkellä tehdä kun game over-tapauksissa lähetetään viesti muille vastaanotettavaksi. Nämä leimat pitää uuden pelin alussa muistaa pyyhkiä pois.

  8. Mustekala status-häiriöksi
    1. Aseta mustekala liikkumaan
    2. Toteuta musteen purkautuminen pelaajan mennessä liian lähelle
    3. Aseta mustekala tarkkailemaan sitä onko sen etäisyys pelihahmoon liian pieni. Mustekalan saa muuttumaan mustepilveksi asustevaihdolla ja mustepilven kokoa voi lisätä asteittain leviävän mustepilven simuloimiseksi. Tämän jälkeen voidaan taas vaihtaa takaisin mustekala-asuste.

  9. Aarre voi vaihtua
    1. Valitse uusi aarre
    2. Tutustutaan apumuuttujien käyttöön ja todennäköisyyksiin.
      Aseta alkuperäinen aarre piiloon ja lähetä viesti siitä, että uusi aarre pitää valita. Tee tätä toimintoa varten "Kun vastaanotan viestin"-skripti alkuperäisen aarteen skripteihin.

      Itse valinnassa on avuksi jos ensin arvotaan apumuuttujalle jokin arvo ja valitaan eri arvoalueille eri tarkoitukset (erikokoinen arvoalue johtaa eri todennäköisyyteen), ja sen jälkeen verrataan apumuuttujan arvoa näihin. Vertailujen pohjalta päädytään luomaan jokin pelin aarteista. Jos uusi aarre on alkuperäinen aarre voidaan kutsua sen EtsiPaikka-lohkoa. Muiden aarteiden tapauksessa on kätevintä lähettää sille räätälöity viesti.

    3. Luo toiset aarteet
      Skriptejä ja niiden osia voi raahata hahmosta toiseen jolloin ne kopioituvat.
      1. Sijoita aarteet kun ne vastaanottavat näyttämisestään viestin
      2. Laita aarteet liikkumaan omilla tavoillaan jos se niiden käyttäytymisiin sopii
      3. Anna pelaajan kerätä näitä uusia aarteita
      4. Muista aina keräämisen jälkeen lähettää viesti siitä, että uusi aarre pitää jälleen arpoa.