Professional Documents
Culture Documents
Microbiti Mängu Rumal Lind (Crashy Bird) Programmeerimise Juhend
Microbiti Mängu Rumal Lind (Crashy Bird) Programmeerimise Juhend
kristiproge.blogspot.com
Mängus Rumal lind 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.
Mängu programmeerimisel kasutatakse Advanced bloki Game ja Array klotse.
Muutuja lind
Koosta kood, mis kuvab spraidi lind mänguväljale ja paneb selle vilkuma. Spraidi lind loomiseks tee vasak hiireklõps
noolel ja vali menüüst New variable... .
Linnu juhtimine
Koosta kood, mille abil lindu juhtida ehk ta lendama panna: vajutades nupule A liigub lind ülespoole ja vajutades
nupule B liigub lind allapoole.
Takistuste lisamine
Nüüd läheb põnevaks! Koostad programmijupi, mis loob suvalisi takistusi. Igas takistuses on üks avaus (auk), millest
lind saab läbi lennata. Iga takistus on sprait. Kõiki takistuse spraite hoitakse järjendis (array). Järjend koosneb
elementidest. Meie mängus on elementideks takistuse spraidid. Näide: array = (0 1 2 3) – selles järjendis on
elementideks numbrid 0, 1, 2 ja 3.
1
BBC micro:bit Koostanud: Kristi Jaason (2019),
kristiproge.blogspot.com
Alustuseks loo tühi järjend (empty array), kuhu lisatakse kõik takistuse spraidid. Selleks loo uus muutuja takistused.
Täienda on start koodiplokki järgnevalt:
Nüüd loo vertikaalsed takistused, milles on 4 spariti ja 1 avaus (auk). Selleks loo uus muutuja tühiTakistusY. Juhuarvu
abil valitakse üks number nullist neljani. Juhuarv on see koht, kuhu takistusse tuleb avaus. Täienda on start
koodiplokki:
Igal järjendis oleval spraidil (ehk takistusel) on järjekorranumber, mida nimetatakse indeksiks (index). Indeksite
loendamist alustatakse nullist (0). Täienda on start koodiplokki. Muutuja index leiad rippmenüüst.
2
BBC micro:bit Koostanud: Kristi Jaason (2019),
kristiproge.blogspot.com
Järgmisena kasutame for-tsüklit. For-tsükkel kestab seni kuni kõik elemendid järjendis on ükshaaval läbi käidud.
Koosta allolev kood (selgitus peale koodi):
3
BBC micro:bit Koostanud: Kristi Jaason (2019),
kristiproge.blogspot.com
Takistuse kustutamine
Selleks et kustutada takistus, kui see on jõudnud vasakusse serva, kasutatakse while-tsüklit. While-tsükkel käib läbi
kõik takistuse spraidid ja kontrollib nende asukohta. Kui spraidid jõuavad vasakusse serva, siis need kustutatakse.
Rohkem takistusi
Selleks et takistusi tuleks järjest juurde, paiguta osa start-on plokis olevast koodist lõputu tsükli plokki:
4
BBC micro:bit Koostanud: Kristi Jaason (2019),
kristiproge.blogspot.com
Nüüd on kogu mänguväli liikuvaid takistusi täis. Lisa nende vahele ruumi. Selleks kasuta muutujat ticks, mis loeb
kokku mitu korda on lõputu tsükkel kordunud. Uus takistus luuakse ainult siis, kui muutuja ticks jaguneb kolmega
(jagamise jääk on 0).
Mängu lõpp
Hetkel ei juhtu midagi, kui lind puudutab takistust. Seda saab parandada kasutades for-tsüklit, mis käib läbi kõik
järjendis olevad spraidid ja kontrollib, kas mõne spraidi koordinaadid on samad, mis linnul.
5
BBC micro:bit Koostanud: Kristi Jaason (2019),
kristiproge.blogspot.com
Valmis programm
Kogu programm näeb välja selline:
6
BBC micro:bit Koostanud: Kristi Jaason (2019),
kristiproge.blogspot.com