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


Takaisin: Scratch-materiaalit

Verkkopyydystys

Pelin toiminta Pelissä on oikeassa laidassa kipittelevä rosvo, joka pitäisi saada kiinni. Käytössä on verkko, joka pitää heittää sopivassa kulmassa ja sopivalla voimalla, että se osuu rosvoon.
Vaikeustaso Pelissä ei ole montaa "liikkuvaa osaa", mutta siinä käytetään muuttujia jossain määrin. Sopii Scratchia jo tehneille ja muuttujia hieman jo ymmärtäville.
Oppimistavoitteita
  • Opitaan hahmon liikuttelu hiirellä
  • Tutustutaan ajatukseen painovoimasta
  • Tutustutaan ajatukseen nopeuden jakamisesta eri suuntiin
  • Tutustutaan lohkoihin
  • Opitaan käyttämään loogisia ehtoja
  • Tutustutaan leimoihin
  • Kerrataan hahmojen välistä vuorovaikutusta (kosketus)
  • Tutustutaan ajastimeen
Toimiva versio Verkkopyydystys mallina Scratchissa
Muut mallit Opettajan tulostettava muistilista komennoista
"Rasti-ruutuun" -tehtävälistaus oppilaalle
Opasvideot Opasvideo opettajalle
Variaatioita toteutuksessa Tarvittujen heittojen määrän voi laskea tai pyydystyksestä voi tehdä graafisesti näyttävämmän kuten tässä pelissä.

Kuva mallipelistä:

Screenshot esimerkkipelistä. Screenshot esimerkkipelistä.

Työvaiheet:

Väriselite:

Oppimistavoite
Tarkennus tekotapaan
  1. Tähtäin
    Hiirellä liikuttelu on eräs tapa vaikuttaa nopeasti hahmon sijaintiin.
    1. Tähtäin menee pelin alettua ikuisesti hiiren luokse
    2. Jos hiiren nappi on painettu, lähetetään "heitä" -viesti ja odotetaan
    3. Odotuksen johdosta uutta verkkoa ei voi heittää ennen kuin edellinen on tippunut. Tällöin emme tarvitse myöskään klooneja, kun näkyvissä on kerralla vain yksi verkko.
  2. Verkon alustus heittoa varten
    Heittoa suunnitellessa tutustutaan ajatukseen, että sen nopeus voi vaihdella ja tämä voidaan tehdä muuttujan avulla. Lisäksi nopeutta voi ajatella olevan kahteen suuntaan; pystyyn ja vaakaan. Lopullinen suunta määräytyy näistä molemmista. Pystynopeuteen vaikuttaa jatkuvasti painovoima. Molempiin suuntiin vaikuttava ilmanvastus voidaan pienenä jättää huomiotta.
    1. Pelin alussa verkko menee aloituskohtaansa vasempaan alakulmaan
    2. Tee kaksi muuttujaa: pystynopeus ja vaakanopeus
    3. Kun vastaanotetaan "heitä" -viesti:
      1. Aseta pystynopeudelle arvoksi hiiren etäisyys y-suunnassa jaettuna numerolla 13
      2. Tähtäin on aina hiiren kohdalla, joten tämä on samalla tähtäimen etäisyys. Etäisyyden y-suunnassa voit laskea vähentämällä hiiren y-sijainnista verkon y-sijainnin.

        Numerolla 13 jakaminen auttaa suhteuttamaan heiton voimakkuuden näkyvään pelialueeseen sopivaksi.

      3. Aseta vaakanopeudelle arvoksi hiiren etäisyys x-suunnassa jaettuna numerolla 13
      4. Etäisyyden x-suunnassa voit laskea vähentämällä hiiren x-sijainnista verkon x-sijainnin.
    4. Luo uusi lohko "heitto" ja kutsu sitä muuttujien asetusten jälkeen
    5. Lohkoilla voi määritellä Scratchiin uusia komentoja. Ne voivat selkeyttää olemassa olevaa koodia ja niihin voidaan luoda jokin yksinkertainen toiminto, jota ohjelmassa mahdollisesti tarvitaan usein.
      Uuden lohkon luominen luo kaksi palikkaa, määritä-palikan ja kutsu-palikan. Määritä-palikka syntyy suoraan ohjelmointialueelle ja sen alle kasataan komennot, joiden halutaan tapahtuvan, kun uutta lohkokomentoa käytetään. Lisäksi työkalupakkiin syntyy uuden komennon kutsu-palikka, jonka ohjelmoija voi liittää hahmon muihin komentoihin mihin tahansa. Kun ohjelma törmää tähän kutsuun, se etsii määritys-palikasta ohjeen, mitä palikka tarkoittaa.

      Lohkot ovat ohjelmassa jossain määrin kuten "lähetä ja odota" -palikat, komentoja niiden jälkeen ei suoriteta, ennen kuin lohkon sisältämien komentojen suoritus on valmis.

    6. Bonus: Luo uusi "epävarmuus" -muuttuja
    7. Epävarmuuden tarkoitus on tehdä heitoista hieman satunnaisia
    8. Bonus: Arvo epävarmuudelle jokin arvo väliltä 12-14 juuri ennen nopeuksien asetusta
    9. Bonus: Jaa nopeudet 13 sijaan epävarmuuden arvolla
  3. Heittoradan ohjelmointi
    1. Tee "heitto"-lohkon alle toisto, kunnes verkko osuu seinään
    2. Toista kunnes -palikka toimii kuin ikuisesti, jonka sisällä on jos-palikka, jossa ikuisesti-silmukka pysäytetään. Toista kunnes -palikka on ajatuksena kenties hieman haastavampi, mutta ohjelmallisesti siistimpi tapa ratkaista tiettyjä ongelmia.
    3. Toiston sisällä muuta x:n ja y:n arvoja vaakanopeuden ja pystynopeuden arvoilla
    4. Paikan muuton jälkeen muuta pystynopeuden arvoa vielä -2:lla
    5. Pystynopeuden jatkuva pienentäminen kuvaa painovoiman vaikutusta. Positiivinen pystynopeus pienenee ensin kohti nollaa ja nollan alle muuttuessaan alkaa olemaan nopeutta alaspäin.
    6. Bonus: Toiston jälkeen, kun reunaan on osuttu, leimaa verkko
    7. Bonus: Kun vihreää lippua painetaan pyyhi pelialue leimoista
    8. Heiton lopuksi aseta verkko aloituskohtaan seuraavaa heittoa varten
  4. Lahjavarkaan pakoretki
    1. Luo uusi "kun vastaanotetaan pakene"
    2. Kun viesti on vastaanotettu, aseta rosvo alkupaikkaansa oikeaan laitaan
    3. Alkupaikan asetuksen jälkeen aseta se osoittamaan kohti 0° (ylös)
    4. Valitse hahmon asetuksista (i), että se ei pyöri
    5. Valitse kiertotyyliksi täysi pallero. Vaihtoehtoisesti voisit pelissä antaa liikekomennon "aseta pyörimistapa älä kierrä", mutta kun pyörimistapa ei käytännössä pelin aikana muutu, ei ole tarpeen, että ohjelma ottaisi pyörimistapaan kantaa.
    6. Alkuasetusten jälkeen laita hahmo ikuisesti liikkumaan ja pomppimaan reunoista
    7. Äsken valittu pyörimistapa johtaa siihen, että pomppaaminen on suora eikä hahmo lähde seikkailemaan ikkunan vasempaan laitaan vahingossa.
    8. Kun peli alkaa lähetä "pakene"-viesti
  5. Varkaan nappaaminen
    1. Laita "pakene"-viestin lähetyksen jälkeen odotus, kunnes varas koskettaa verkkoa
    2. Kosketuksen tapahduttua pysäytä muut hahmossa olevat skriptit
    3. Tämä pysäyttää varkaan pakomatkan.
    4. Pysäytyksen jälkeen aseta varas sanomaan jonkin aikaa mihin arvoon ajastin pääsi
    5. Ajastimen arvon voi yhdistää sanottavaan tekstiin vihreillä yhdistä-komennoilla. Ajastin alkaa aina nollasta, kun peli alkaa.
  6. Varkaan nappaamisen ikuinen harjoittelu
    1. Aseta varkaan pelin alussa tehtävät komennot ikuiseen silmukkaan
    2. Nollaa ajastin aina varkaan puheenvuoron jälkeen
  7. Lisää ideoita voit etsiä tästä projektista.