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


Takaisin: Kevät 2015

Seilailupeli

Pelin toiminta Pelissä on tarkoituksena seilata merellä liikkuvien esteiden seassa ja pyrkiä päästä mahdollisimman nopeasti toisessa laidassa olevan pelastettavan aluksen luokse. Lisäksi esteet näkyvät vain ollessaan majakan valossa ja mahdollisesti myös niiden ollessa hyvin lähellä omaa alusta. Kakkosvaiheena pelissä siirrytään itse pelastustyöhön toiselle alukselle.
Vaikeustaso Peli on varsin suoraviivainen ja sopii myös ohjelmoijille, jotka ovat vasta aloitelleet Scratchillä.
Oppimistavoitteita
  • Opitaan käyttämään klooneja
  • Kerrataan koordinaatistoa
  • Kerrataan lukujen arpomista
  • Kerrataan silmukoita: toista, ikuisesti, toista kunnes
  • Harjoitellaan vektoripiirtämistä
Toimiva versio Seilailupeli mallina Scratchissa
Variaatioita toteutuksessa Peliin voi meren lisäksi helposti toteuttaa esimerkiksi asteroidivyöhykkeen missä pitää suunnistaa.

Kuva mallipelistä:

Screenshot esimerkkipelistä. Screenshot esimerkkipelistä.

Työvaiheet:

Väriselite:

Oppimistavoite
Tarkennus tekotapaan
  1. Piirrä tai maalaa tausta
    Elävämmän maalatusta taustasta saa jos valitsee maaliväreiksi kaksi lähekkäistä sävyä ja valitsee maalityyliksi värien vasemmalta puolelta pystysuuntaan muuttuvan värigradientin. Värin poimiminen annetusta valikoimasta vaikuttaa aina vain päällempään käytettävään väriin, mutta valittua väriä klikkaamalla taaempi ja päällempi väri vaihtavat paikkojaan.

    Värigradientti Scratchissä.

  2. Liikkuvat esteet
    Esteitä tulee olla monia, ja jopa rajaton määrä jos pelaaja haluaa vain lipua ympäri näkymää suorittamatta pelastustehtävää. Jokainen este kuitenkin liikkuu ja toimii täysin samalla tavalla, joten ne ovat vain toistensa kopioita, klooneja. Kun on kerran kerrottu kloonille miten sen tulee toimia toimivat kaikki tulevat kloonit samoin ilman mitään ylimääräistä työtä.
    1. Luo pelin aluksi klooneja valmiiksi jo muutama
    2. Kun vihreää lippua painetaan luo muutama klooni. Tässä on hyvä käyttää "toista _ kertaa" -palikkaa.
    3. Kun klooni luodaan aseta se menemään satunnaiseen paikkaan näkymässä
    4. Tästä eteenpäin kerrataan koordinaatistoa ja juuri tässä kohdassa kerrataan satunnaisien lukujen arpomista. Satunnaisia lukuja voi verrata noppaan, jossa on juuri niin monta sivua kuin määritämme siinä olevan.
      Satunnainen paikka voi olla myös rajatulla alueella, esimerkiksi jos oma alus lähtee vasemmasta laidasta niin esteet voivat ilmestyä näkymän oikealle puolelle. Tällöin y-sijainniksi voi asettaa satunnaisen numeron väliltä -180 - 180 ja x-sijainniksi arvon väliltä 0 - 240.
    5. Aseta alkuperäinen este piiloon ja aseta kukin klooni näkyviin sen syntyessä
    6. Alkusijainnin asettamisen jälkeen virtaus kuljettaa kloonia kunnes sen x-sijainti < -220
    7. Voit esimerkiksi ikuisessa silmukassa muuttaa perätysten sekä x- että y-sijaintia.
    8. Esteen päästyä vasempaan laitaan poista kyseinen klooni
    9. Luo alustuksen jälkeen ikuisesti uusia klooneja tietyin väliajoin
  3. Tee majakka ja sijoita se
  4. Piirrä majakan valo
    Majakan valon voi piirtää myös bittikuvana, mutta symmetrisen kuvan saa helpommin vektorigrafiikalla.
    1. Vaihda heti aluksi oikeasta alalaidasta "Muuta vektoriksi"
    2. Piirrä värillä täytetty soikio
    3. Tämän on hyvä yltää laidasta laitaan, jotta majakan valo yltää koko näkymän alueelle. Kuvia voi zoomata näkymässä vain 150% kokoisiksi.
    4. Ota käyttöön 2. ylin työkalu oikeasta laidasta ja siirrä sillä ympyrän reunoja niin, että saat muodostettua valon kaksi keilaa
    5. Maalaa valon värillä ja läpinäkyvällä ulospäin läpinäkyväksi muuttuvaksi
    6. Valitse ensin läpinäkyvä väri maaliksi. Läpinäkyvä väri on paletissa valkoisen vieressä se ruutu missä on punainen poikkiviiva näyttämässä, että väriruudun alle näkee. Klikkaa sitten värivalikon vasemmalla puolella olevia valittuja värejä, jotta ne vaihtavat paikkojaan, ja valitse sitten valon väri. Nyt kun värit on valittu valitse maalityyliksi vielä pistemäinen gradientti. Maalaa klikkaamalla keilojen välistä, jotta voimakkain väri on majakan kohdalla.

    7. Määritä kuvan keskipiste keilojen väliin missä majakan tulisi olla oikean yläkulman + -painikkeella
  5. Majakan valo toimii
    1. Aseta valo menemään aina pelin aluksi majakan kohdalle
    2. Aseta valo ikuisesti pyörimään
  6. Majakan valo valaisee ja pimeys peittää
    Siirrytään tekemään esteelle uutta toiminnallisuutta, näkyvyyttä, mutta koska tämä on ihan uusi tehtävä niin luodaan sille oma ohjelmapätkä. Kaikki eriytettävissä olevat tehtävät on hyvä luoda erillisiksi ketjuikseen, koska lyhyttä tekstiä on helpompi lukea ja pysyy helpommin kärryillä missä mennään ja mikä kaikki vaikuttaa mihin.
    1. Ikuisesti valmistaudu asettamaan syntyneen kloonin haamutehoste sen perusteella koskettaako se valoa vai ei
    2. Tässä testataan, osutaanko valoon vai ei, ja kaikkiin testeihin liittyy palikka 'jos'. Nyt kun vaihtoehtoisia tilanteita mihin pitää reagoida on kaksi niin käytetään 'jos-muuten' -palikkaa.
    3. Jos valoon kosketaan aseta haamutehoste arvoon 0 eli näkyviin
    4. Jos valoon ei kosketa asetetaan haamutehoste arvoon 100 eli piiloon
  7. Pelastettava alus
    Tässä välissä voisi olla fiksumpi lisätä peliin tekemistä, eli pelattava alus, mutta jos pelastettava alus halutaan pelastavan aluksen taakse piirrettäessä niin tekemisjärjestyksellä sen saa toteutettua helposti. Vanhemmat hahmot ovat taaempana kuin uudemmat. (Kloonit luodaan vasta pelin aikana, joten ne ovat päällimmäisinä.)
    1. Aseta pelastettavalle alukselle paikka pelin aluksi
    2. Tee alukselle eri asusteita, jotta se näyttää joutuvan pahempaan pulaan
    3. Aseta pelin aluksi, haluamasi asuste
    4. Aseta jonkin odotuksen jälkeen uusi asuste
    5. Toista edellistä sen mukaan miten monta asustetta piirsit
  8. Pelastava alus / pelaajan alus
    1. Aseta alukselle jokin alkupaikka, johon se aina palaa pelin aluksi
    2. Alus liikkuu eteenpäin ikuisesti jollain tietyllä vauhdilla
    3. Aluksen suuntaa voi muuttaa nuolinäppäimin
    4. Voit ikuisesti-silmukan sisällä kysyä jos näppäin on painettu ja sitten kääntyä. Hahmo automaattisesti kääntyy tällöin sen lisäksi, että kulkusuunta muuttuu. Kääntymistä voit rajoittaa asettamalla aluksi pyörimistavan (liike-välilehti).
    5. Aluksen lähellä olevien esteiden haamuefekti heikkenee läheisyyden johdosta
    6. Kun välimatka pienenee niin haamuefekti pienenee. Voimme siis vaikka suoraan laittaa haamuefektiksi hahmojen välisen etäisyyden jos valo ei esteeseen siis koskettanut. Tähän löytyy suoraan palikka tuntoaisti-välilehdeltä.
  9. Törmäyksen tarkistus
    1. Odota pelin alusta lähtien kunnes törmätään esteeseen
    2. Kun tämä tehdään omaksi tehtäväkseen, omaksi skriptiketjukseen, niin ei ole väliä vaikkei esteeseen ikinä törmättäisikään. Tietokone voi aina odottaa eikä se pety jos jotain ei tapahdu ikinä.
    3. Jos esteeseen törmättiin niin pysäytä aluksen liike, eli pysäytä muut hahmossa olevat skriptit
    4. Aseta alus vaikka sanomaan jotain törmäyksestä parin sekunnin ajan, jotta pelaaja tietää mitä tapahtui
    5. Pysäytä kaikki skriptit, jotta peli päättyy
  10. Pelastuksen tarkistus
    1. Pelastettava alus odottaa kunnes pelastava alus koskettaa sitä
    2. Pysäytetään pelastava alus ennen kuin se ajaa toisen aluksen kylkeen
      1. Lähetä viesti kohteeseen pääsystä
      2. Kun pelastava alus vastaanottaa viestin pysäyttää se kaikki muut sen hahmossa olevat skriptit
    3. Pelastettava alus sanoo jotain iloista siitä, että pelaaja pääsi sen luokse
    4. Jos haluaa niin tässä yhteydessä voi laskea myös miten paljon pelastettavaa aluksella vielä oli kun pelaaja pääsi sinne. Tähän voi käyttää ajastimen arvoa jossain yhtälössä tai päivittämällä pelastettavan määrää pelin alusta vaikka sekunnin välein.