Alkeet: 3. Tunti

Tällä kertaa tutustumme tärkeään ohjelmointikäsitteen: tapahtumat, eli eventit. Tämä auttaa sinua ymmärtämään, miten peleissä ja muissa ohjelmissa asioita tapahtuu vuorovaikutteisesti, kun käyttäjä tekee jotakin tai kun pelissä tapahtuu jotain.

1. Mikä on tapahtuma (event)?

Ohjelmissa tapahtumat ovat hetkiä, jolloin jokin toiminta käynnistyy. Peleissä on yleensä kahdenlaisia tapahtumia:

1.1. Käyttäjän aiheuttamat tapahtumat

Käyttäjän tekemät toimet, kuten hiiren klikkaaminen tai näppäimistön painallus, luovat tapahtumia. Näin ohjelma tietää, että jotakin pitää tapahtua, kun käyttäjä tekee jotain. Esimerkkejä käyttäjän aiheuttamista tapahtumista:

  • “Kun painetaan hiirtä, soitetaan ääni.”
  • “Kun painetaan nuolinäppäintä, hahmo liikkuu oikealle.”

Kun klikkaat suorita-nappia Code.org-harjoituksissa, sekin on käyttäjän aiheuttama tapahtuma. Ohjelma suorittaa silloin lohkojen alle piilotetun koodin ja tekee sen mukaan, mitä olet koodannut.

1.2. Pelin logiikan aiheuttamat tapahtumat

Toinen tyyppi tapahtumista liittyy pelin sisällä tapahtuviin asioihin. Kun pelissä tapahtuu jotain, se voi laukaista koodin suorittamisen. Esimerkkejä tästä ovat:

  • “Kun pelihahmo osuu esteeseen, peli loppuu.”
  • “Kun hahmo pääsee maaliin, pelaaja saa pisteitä.”

Tässä tapauksessa tapahtumat ovat ohjelman sisäisiä, ja ne käynnistyvät automaattisesti silloin, kun jokin ehto pelissä täyttyy.

2. Harjoitellaan tapahtumia

Nyt on aika päästä itse kokeilemaan tapahtumien koodaamista.

Flappy
Bounce
Star Wars

Opitut asiat

Tunnin lopuksi olemme oppineet, että:

  • Tietokoneohjelmat ovat vuorovaikutteisia: Käyttäjän toiminnot, kuten hiiren liikuttaminen tai napin painaminen, vaikuttavat pelin kulkuun ja ohjelman toimintaan.
  • Eventit eli tapahtumat: On olemassa kahdenlaisia tapahtumia: käyttäjän aiheuttamat tapahtumat (kuten klikkaus tai näppäimen painallus) ja pelin logiikan aiheuttamat tapahtumat (kuten hahmon törmääminen seinään).

Nyt ymmärrät miten käyttää tapahtumia koodissasi ja voit luoda niiden avulla entistä monipuolisempia ja interaktiivisempia ohjelmia.