19. september 2019

Vahvad mängud micro:bitile

microbit_mäng_Kristi_Proge_Blog
micro:bitile saab luua ka mänge (ekraanitõmmis)


Esmasel kokkupuutel micro:bitiga (lähemalt saab selle kohta lugeda siit) jääb mulje, et seda saab vaid kujundeid ja sõnumeid näitama programmeerida. Siiski on võimalik selle pisikese haridusliku vidinaga enamat korda saata ja seda ilma komponente juurde ostmata. Nimelt saab micro:bitile mänge programmeerida!

micro:biti kodulehel on mitmeid mängude loomise õpetusi. Valisin välja kaks, mis mulle endale rohkem huvi pakkusid: Snap the Dot (Taba täppi) ja Flappy Bird (Rumal lind) aka Crashy Bird. Kuna inglise keelest mu noored õpilased veel piisavalt hästi aru ei saa, siis eestitasin nende mängude juhendid, mida nüüd ka siin jagan. Ma ei väsi kordamast, et minu jaoks ei ole õppimine see, kui kood lihtsalt juhendi järgi ümber kirjutatakse (mis on ilma juhendit tõlkimata täiesti võimalik), vaid õppur peab ka aru saama, mida ta teeb ja kuidas tema kood töötab.

Mäng 1: Taba täppi

Taba täppi (Snap the Dot) on mäng, kus mängija peab vajutama nuppu täpselt sel hetkel, kui täpp ilmub ekraani keskele.

Selle mängu loomisel rakendatakse järgmisi oskusi:
  • spraidi loomine;
  • lõputu tsükkel;
  • tehted (operaatorid);
  • muutujad;
  • koordinaadid;
  • tingimuslause (valiklause).
Eestikeelse juhendi leiab siit.

Ma ei tee saladust sellest, et kui programm valmis sai ja see micro:biti laeti, siis Taba täppi mängu mängimine kütkestas nii nooremaid kui vanemaid inimesi. Iga mängija tahtis teistest parem olla ja püstitati järjest uusi rekordeid.

Mäng 2: Rumal lind

Mängus Rumal lind (Crashy Bird) peab mängija juhtima vasakul asuvat lindu nõnda, et see ei põrkaks kokku paremalt lähenevate vertikaalsete takistusega. Takistusega kokkupõrkel mäng kaotatakse.

Rumal lind ei ole idee poolest uus ja sarnaseid mänge on mitmed kooliõpilasedki näiteks Scratchis programmeerinud (näide siin), kuid micro:biti jaoks on seda mängu veidi lihtsustatud. Sõna lihtne ei saa siiski kasutada programmi enda kohta.

Mängu Rumal lind programm on Taba täppi mängu omast tunduvalt keerulisem. Sellest annab aimu ka allolev loetelu mängu loomisel rakendatavatest oskustest:
  • spraidi loomine;
  • muutujad;
  • lõputu tsükkel;
  • tehted (operaatorid);
  • jäägi leidmine;
  • for-tsükkel;
  • while-tsükkel;
  • koordinaadid;
  • tingimuslause (valiklause);
  • loogilised tehted;
  • järjend (array).
Eestikeelse juhendi leiab siit.

Koodi koostamisel peab olema väga tähelepanelik, et ükski klots lisamata ei jääks (juhtus seda asja minugagi), sest hiljem võib vea leidmine üsna keeruline olla.

Mängu arendamine

Mõlema juhendi lõpus on mängu edasiarendamise osa, mida ma ei soovita vahele jätta. Mängu arendamine näitab, kas õppija mõistab mängu koodi ning samuti aitab see harjutada omal käel programmeerimist. Arendamise käigus õpib sageli ka uusi oskusi.

Oma mäng

Kui need kaks mängu on juhendi järgi valmis ja tööle saadud ning natuke ka edasi arendatud, siis on soovitav ise mäng välja mõelda. Mina tegin mängu, mille inspiratsiooniks oli Taba täppi. Nimelt hüppab täpp mööda mänguvälja ringi ja +1 punkt on siis, kui vajutad nuppu sel hetkel kui täpp on välja keskel või nurkades ja kaotad punkti kui valel ajal nupule vajutad. Mäng kestab ühe minuti ja mängu lõpus kuvatakse skoor.

Jälgi KristiProget ka Facebookis.