5. Video-igre na micro:bitu
Što su to video-igre?
Video igre su zabavni programi u kojima igrač donosi odluke i vidi rezultate svojih radnji na ekranu. U svakoj igri postoji neki cilj – ponekad je to skupiti što više bodova, ponekad izbjeći prepreke ili pogoditi pravi trenutak za akciju. Iako smo navikli na igre na računalu ili konzoli, zanimljivo je što i mali micro:bit može postati prava mala igraća konzola!
Prva prava video igra za širi krug ljudi zvala se "Tennis for Two" i nastala je 1958. godine. Napravio ju je fizičar William Higinbotham, uz suradnju kolege Roberta Dvoraka, u istraživačkoj laboratoriji u SAD-u.
Radilo se o vrlo jednostavnoj simulaciji tenisa: na ekranu osciloskopa prikazivala se loptica koja prelazi preko zamišljene mreže, a igrači su okretanjem kontrolera birali pod kojim će kutom udariti lopticu kako bi je prebacili na drugu stranu.
Igra je prvotno napravljena samo kao zabavna demonstracija za posjetitelje laboratorija, ali je kasnije dobila status jedne od prvih povijesno važnih video igara.
Kako komuniciramo sa micro:bitom dok igramo igru?
Na micro:bitu igrač komunicira s igrom na nekoliko načina:
- Pritiskanjem tipki A i B, koje mogu predstavljati skok, promjenu smjera ili neku drugu akciju u igri.
- Kroz LED ekran koji može prikazivati likove, objekte, rezultat ili trenutnu situaciju u igri.
Pomoću senzora pokreta (akcelerometra) – nagibom ili tresenjem micro:bita igrač može upravljati likom, što igru čini još interaktivnijom.
Zadatak 1
Najjednostavniji koncept igre može izgledati ovako:
Igra prikazuje točku na ekranu (naš lik), a igrač pritisne tipku A da se pomakne ulijevo i tipku B da se pomakne udesno. S vremena na vrijeme na ekranu se pojavi jabuka, i ako se lik poravna s njom, igrač osvoji bod.
Program zato mora:
- Očitavati korisnički unos (tipke ili senzor).
- Prikazivati stanje igre (poziciju lika i nagrade).
- Praćiti rezultat i povećavati bodove kad igrač pogodi cilj.
Kroz takvu igru dupoznajemo osnovne logičke korake programiranja: kako provjeriti što igrač radi, kako promijeniti prikaz na ekranu i kako voditi računa o rezultatima.
Programiranje - igrač:
- Napravi varijablu igracX i dodijeli joj poziciju 2 na donjem redu ekrana.
- Prikaži točku na ekranu koja predstavlja igrača.
Programiranje - jabuka:
- Napravi varijablu jabukaX.
- Napravi varijablu jabuka i dodijeli joj vrijednost false.
- U slučajnom trenutku, na slučajnoj poziciju prvog retka ekrana prikaži jabuku. Dodijeli vrijednost varijabli jabukaX i postavi jabuka na true.
- Pričekaj 1 sekundu i obriši jabuku (postavi jabuka na false), ako je igrač već nije ubrao.
Programiranje - kretanje igrača:
- Na pritisak tipke A smanji poziciju igrača za 1, a na pritisak tipke B, povećaj poziciju igrača za 1.
- Pazi: Ako se pozicija smanji na vrijednost manju od 0, postavi je na 0, a ako se poveća preko 4, postavi je na 4. Tako osiguravamo da se igrač uvijek nalazi na ekranu.
- Obriši prethodnu poziciju igrača i prikaži novu.
- Ako se na ekranu vidi jabuka, a igrač je poravnan sa njom, pusti zvuk i obriši jabuku (jabuka je ubrana).
Dodatna pitanja i zadaci:
- Možeš li brojati koliko je jabuka igrač ubrao? Kako bi prikazao taj rezultat?
- Imaš li ideju kako napraviti da jabuka zapravo pada, a da je igrač uhvati samo ako je došla na najdonji red kada se igrač tamo načazi? Ako jabuuka padne na najdonji red, a igrač nije tamo, onda gubi bod.
Što smo naučili?
- Kako micro:bit može postati jednostavna igraća konzola.
- Kako program „osluškuje“ korisničke akcije kroz tipke i senzore.
- Kako prikazati promjene i rezultate na LED ekranu.
- Osnovne koncepte bodovanja i napretka u igri.