Materiaalit on lisensoitu Creative Commons BY-SA-lisenssillä, joten voit levittää niitä vapaasti, kunhan alkuperäisten tekijöiden nimiä ei poisteta. Jos teet muutoksia materiaaliin ja haluat levittää muunneltua versiota, se täytyy lisensoida samanlaisella vapaalla lisenssillä.

Alkuperäiset tekijät (2014): Jenna Tuominen ja Virpi Sumu


Takaisin: Kirjastopaja

Pong

Pelin toiminta Klassikkopeli Pongissa pallotellaan kahdella mailalla. Jos pallo pääsee karkaamaan pelaajan mailan taakse reunaan, vastustaja saa pisteitä.
Vaikeustaso Yksinkertaisessa pelissä on vain pallo ja kaksi mailaa, joilla kaksi eri pelaajaa pallottelevat, eli peli sopii hyvin aivan aloittelijoillekin. Koordinaatistoa hipaistaan kun pallon reunaan osumista tarkistetaan, mutta sen syvällisempää ymmärrystä asiasta ei välttämättä tarvitse. Tässä voidaan käsitellä myös suunta-asteita tarkemmin. Peli voi yksinkertaisesti loppua kun pallo pääsee mailan ohi, mutta toimintoihin voi myös helposti lisätä pistelaskun sekä voiton ja tappion käsittelyn. Edistyneemmissä versioissa päästään siis käsittelemään muuttujia. Lopuksi peliin voi lisätä tekoälyn, joka ohjaa toista mailaa.
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.
- Opitaan käyttämään muuttujia muistettavina arvoina.
- Tutustutaan satunnaisuuteen.
- Opitaan koordinaatiston suuntien heijastumista.
- Opetellaan käyttämään ohjelman sisäisiä viestejä.
Toimiva versio Yksinkertainen: PikkuPong mallina Scratchissa
Variaatioita toteutuksessa ??

Kuvia mallipelistä:

Työvaiheet:

Oppimistavoite
Tarkennus tekotapaan
  1. Pallon liikkuminen
    Opitaan luomaan hahmoja, jotka liikkuvat itsekseen.
    Tutustutaan koordinaatistoon ja suuntiin sekä satunnaisuuteen.
    Opitaan silmukoiden käyttöä
    1. Pallo liikkuu ikuisesti
    2. Laita pallo myös pomppaamaan reunasta.
    3. Pallo lähtee satunnaiseen suuntaan
    4. Kannattaa piirtää taululle tms. suuntaympyrä, josta voi sitten valita sen alueen, jolle haluaa pallon lähtevän. Esimerkiksi 20-160 astetta.
    5. Pallo pomppaa mailasta
    6. Opitaan suuntien käsittelyä ja ehtolauseita.
      Käsittele suunnan vaihto esimerkiksi osoittamalla ensin kohti mailaa, ja lisäämällä tähän suuntaan sitten 180 astetta:

      Mailasta pomppaaminen ei toimi aivan täydellisesti, mutta tämä ratkaisu on kuitenkin yksinkertaiseen peliin riittävä.

  2. Mailan liikkuminen
    Opitaan luomaan hahmoja, jotka liikkuvat näppäimistösyötteillä.
    1. Sijoitetaan maila
    2. Liike-välilehden mene x:_y:_-palikka pitää kirjaa hahmon kulloisestakin sijainnista, eli hahmon voi asemoida hiirellä ja sitten siirtää palikan uuden skriptin alkuun
    3. Maila liikkuu nuolilla ylös ja alas
    4. Älä käytä "kun painetaan näppäin"-palikoita, ne eivät toimi halutusti jos painetaan useita nuolinäppäimiä yhtä aikaa, ja ensimmäisen liikahduksen jälkeen reagoinnissa on viive. Toteuta ennemmin rakenne, jossa ikuisesti kysellään vuorotellen kaikilta näppäimiltä ovatko ne painettuna.
    5. Kopioi maila ja sijoita toinen maila
    6. Aseta liikkumiseen käytetyt näppäimet toisiksi, esim. w ja s maila 1:lle ja ylös-/alasnuolet maila 2:lle.

  3. Pisteet
    Opitaan muuttujien käyttöä.
    Tee tämä pallo-hahmossa; käsitellään kaikkia pisteskriptejä täällä selvyyden vuoksi.
    1. Luodaan mailalle 1 muuttuja pistelaskua varten ja alustetaan se
    2. Luo muuttuja kaikille hahmoille.
    3. Kasvatetaan pisteitä sopivassa kohdassa
    4. Tämä on hyvä tehdä samassa skriptissä kuin liikkuminen, jotta voidaan laittaa “odota”-palikoita sopiviin kohtiin.
    5. Toista sama toiselle mailalle
    6. Muutettavat asiat skriptissä: koskettaako-valikko, osoita kohti -valikko, x-sijainnin tarkistus, muuta muuttujaa -valikko sekä pallon lähtösuunnan arvonta.

  4. Voiton käsittely
    Vaihdetaan taustoja yksinkertaisesti
    1. Luo uudet taustat kunkin pelaajan voittotilanteelle
    2. Vaihda taustaa ja lopeta peli kun pisteet ylittävät tietyn rajan.
  5. Yksinkertainen Pong-peli on nyt valmis! Katso mallia Scratchissa: PikkuPong


    Pelin kehittelyä voi hyvin jatkaa suoraan tästä, mutta olen selvyyden vuoksi jättänyt yllämainitun esimerkkipelin tähän vaiheeseen. Seuraavien vaiheiden toteutusta voi tarkastella Scratch-projektissa Pong.
  6. Lisää aloitusruutu
    1. Aseta pelihahmojen näkyvyys aluksi piiloon
    2. Lisää nappulahahmot kaksinpelin ja konetta vastaan tapahtuvan pelin valitsemiseksi, pelin nimi, jne.

  7. Pelitavan valinta
    Tämä on hyvä kohta treenata viestien käyttöä. Esimerkkipelissä molemmat alkuruudun nappulat lähettävät klikatessa pelaa-viestin, jolla pallo lähtee liikkeelle, ja yhden mailan näppäimistöllä ohjattu liikkuminen määritellään. Kumpikin nappula lähettää myös oman viestin, jonka toinen maila vastaanottaa ja joka määrittää mailan liikkumistavan (näppäimistön vai koneen ohjailemana).