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ä (2015): Virpi Sumu


Takaisin: Kevät 2015

Lumisota

Pelin toiminta
Vaikeustaso Peli sopii Scratchin perustoiminnot tuntevalle. Pienin helpotuksin peli sopii kuitenkin myös aloittelijalle. Pelissä käytetään jo vähän korkeamman tason työkaluja, kuten lohkoja, ja muuttujien käsittelyssä on hyvä ymmärtää vähän matematiikkaa - tosin kaavat voi myös kopioida.
Oppimistavoitteita - Tutustutaan koordinaatistoihin ja suuntiin.
- Opitaan luomaan hahmoja, jotka liikkuvat itsekseen.
- Opitaan komentojen järjestyksen tärkeys.
- 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 laskemaan muuttujien avulla rekursiivisesti.
Toimiva versio Lumisota mallina Scratchissa
Variaatioita toteutuksessa Peliin voi toteuttaa kahden pelaajan version, jossa ammutaan seinän sijaan toista pelaajaa. Pelaaja voisi tällöin myös liikkua

Kuvia mallipelistä:

Työvaiheet:

Väriselite:

Oppimistavoite
Tarkennus tekotapaan
  1. Tähtäys
    Opitaan toteuttamaan hiirellä ohjattava hahmo. Tutustutaan koordinaatistoon ja suuntiin. Opitaan muuttujien käyttöä.
    1. Tähtäimen piirtäminen ja sijoittaminen
    2. Tähtäimen kannattaa piirrettäessä osoittaa oikealle, koska Scratchin perussuunta on oikealle. Koko sekä sijainti pelialueella kannattaa myös asettaa sopiviksi heti aluksi. Tähtäintä käytetään sekä suunnan että heittovoiman valinnassa, eli esimerkiksi pitkulainen nuolentapainen tähtäin toimii hyvin. Jotta tähtäin pyörisi fiksusti, se kannattaa keskittää vasemmasta reunastaan.
    3. Suunta-muuttujan luominen
    4. Muuttujaan asetetaan valittu suunta, jota lumipallo käyttää lentäessään, eli muuttuja luodaan kaikille hahmoille.
      On tärkeää, että ensin tarkistetaan, ettei hiiren näppäin ole painettu, koska muuten pelin alussa suunta otetaan vihreän lipun klikkauksesta.
    5. Suunnan asettaminen
    6. Tarkoitus on, että tähtäin osoittaa hiiren suuntaan kunnes hiirtä klikataan, jolloin senhetkinen suunta asetetaan juuri luotuun suunta-muuttujaan. "Toista kunnes" -palikka on tässä kätevä. Jos pelaajalle halutaan "sanoa" ohjeita, ne on hyvä laittaa toisto-palikan sisään.

  2. Heittovoiman valinta
    Tämä toteutetaan paljolti samalla tavalla kuin suunta, mutta hahmon kääntymisen sijaan sen kokoa muutetaan. Kunkinhetkisen koon saa helposti esimerkiksi kaavalla ((hiiren x-sijainti) - (hahmon x-sijainti)).

  3. Ampuminen
    Opitaan lähettämään viestejä. Opitaan silmukoiden käyttöä.
    1. Laitetaan tähtäin piiloon
    2. Lähetetään viesti "ammu" ja jäädään odottamaan
    3. Toteutetaan toisto
    4. Jos ja kun halutaan ampua useammin kuin kerran, laitetaan toisto-silmukka koko komentosarjan ympärille. Asetetaan lisäksi ihan komentosarjan aluksi tähtäin "perustilaan", eli koko on 100 ja suunta oikealle. Laitetaan tähtäin myös näkyviin.

    Muuttujat on pelin aluksi aina hyvä alustaa nollaan.

  4. Tee lumipallo
    Opitaan ehtolauseiden käyttöä. Opetellaan lohkojen käyttöä.
    1. Pallo sijaitsee aluksi samassa paikassa kuin tähtäin
    2. Helpointa on keskittää molemmat hhamot huolella ja asettaa niille täsmälleen sama sijainti.
    3. Simuloidaan painovoimaa
    4. Idea on, että ylös mennessä vauhti hidastuu, kunnes suunta on yli 90 astetta, jolloin vauhti alkaa taas kiihtyä. Lohkossa voidaan hoitaa liikkuminen ja suunnan muutokset, kun taas voimaa muutetaan jos/muuten -rakenteessa suunnan mukaan.
      1. Liikkuminen
      2. Periaate on, että hahmo osoittaa muuttujan antamaan suuntaan, sitten liikutaan (voima-muuttujan arvoa kannattaa jakaa pienemmäksi), ja tämän jälkeen päivitetään suuntaa. Kaava (180 -(suunta))/60 toimi jotenkuten - eli muutetaan suuntaa sitä enemmän, mitä ylemmäs senhetkinen suunta kohdistuu.
      3. Suunta ylös
      4. Voimaa vähennetään, eli kerrotaan -1:llä. Kannattaa taas jakaa voima-muuttujan arvoa pienemmäksi.
      5. Suunta alas
      6. Voimaa kasvatetaan.

  5. Seinä
    Opitaan käsittelemään hahmojen törmäyksiä. Opetellaan satunnaisuutta.
    1. Tee seinä
    2. Tässä välissä voi olla hauskaa piirtää seinä-hahmolle myös asuste, jossa siihen ollaan osuttu.
    3. Tarkista törmäys
    4. Tähän riittää hyvin yksinkertainen "odota kunnes" -rakenne.
    5. Sijoitetaan seinä satunnaiseen paikkaan pelin alussa
    6. Jottei peli olisi liian helppo, sijainnin on hyvä olla pelialueen oikealla puoliskolla, siis x:n arvo on aina yli nollan.