ŠKOLA PROGRAMIRANJA
MakeCode programi za micro:bit AD sučelje - (biblioteka: https://github.com/didacta-advance/ADbw)
1. UPUTE ZA PROGRAMIRANJE13. ANIMIRANI OBJEKT IGRAČA
2. PRIKAZ TEKSTA NA DISPLEJU14. KONTROLE OBJEKTA - IGRAČ
3. BRISANJE ODREĐENOG TEKSTA15. VERTIKALNI POMAK VIŠE OBJEKATA
4. VELIČINA TEKSTA (FONTA)16. HORIZONTALNI POMAK OBJEKATA - GAME SCROLL -BRZINA
5. KRUŽNICA - KRUG17. KREIRANJE NEAKTIVNIH OBJEKATA (ZID)
6. LINIJE18. GRAVITACIJA I KOLIZIJA
7. PRAVOKUTNIK - KVADRAT19. PLATFORM GAME - POČETAK
8. ZVUČNI SIGNAL - BIP20. KOMPLETNA IGRA SA DVIJE PLATFORME (EKRANA)
9. BIT SKROLL - HORIZONTALNI21. GRAF MJERENJA TEMPERATURE
10. POMAK PREMA GORE ILI DOLJE (SCROLL)22. ALARM
11. MOD EKRANA - NORMAL - INVERZNI23. ULTRAZVUČNI METAR
12. KREIRANJE BITMAPE IGRAČA24. MUZIČKE NOTE

UPUTE ZA PROGRAMIRANJETOP
Opis_HR.jpg

U prvom dijelu uputa za programiranje micro:bit AD BW sučelja obrađeni su početni koraci. Spajanje i pokretanje sučelja, učitavanje biblioteke i sve osnovne funkcije (ispis teksta, linije, kružnice, kruga, pravokutnika, ...). U drugom dijelu obrađen je način korištenja SCROLL (pomaka) funkcija. U trečem djelu se nalaze sve grafičke funkcije koje se mogu koristiti u kreiranju različitih igara. Upute su u PDF formatu i mogu se kopirati putem gumba za DOWNLOAD na pregledu (STRELICA PREMA DOLJE).
( 2.1 Mb )

PRIKAZ TEKSTA NA DISPLEJUTOP
01.jpg

Ispis teksta na ekranu u karakter modu i grafičkom. U karakter modu se tekst može ispisati na 10 horizontalnih pozicija i 6 vertikalnih. U grafičkom modu tekst se ispisuje na piziciju piksela, na 84 horizontalne i 48 vertikalnih pozicija. Ispis teksta u karakter modu na poziciju x=2, y=2 bi u grafičkom bilo x=13, y=17. Veličina znakova (fonta) je 6x8 piksela.

BRISANJE ODREĐENOG TEKSTATOP
02.jpg

Brisanje teksta na ekranu može se raditi na više načina. Jedan je ispisom praznog reda preko postoječeg teksta. Drugi je ispis istog teksta u "BIJELOJ" boji, a treči ispisom pravokutnika bijele boje s bijelom ispunom na poziciju teksta.

VELIČINA TEKSTA (FONTA)TOP
03.jpg

Tekst se može ispisati u tri veličine (1-3) u karakter i grafičkom modu. U ovom primjeru tekst brišemo pomoću pravokutnika.

KRUŽNICA - KRUGTOP
04.jpg

Za ispis kruga ili kružnice koristimo grafičke koordinate x (0-83) i y (0-47).

LINIJETOP
05.jpg

Za ispis linija koristimo grafičke koordinate x (0-83) i y (0-47).

PRAVOKUTNIK - KVADRATTOP
06.jpg

Za ispis pravokutnika ili kvadrata koristimo grafičke koordinate x (0-83) i y (0-47).

ZVUČNI SIGNAL - BIPTOP
07.jpg

Možete generirati zvučni signal u određenom rasponu frekvencije 0 - 255 i trajanju od 1 sekunde. Ovaj zvuk generira micro:bit AD sučelje i ne utječe na rad programa na micro:bitu.

BIT SKROLL - HORIZONTALNITOP
08.jpg

Horizontalni, fini, skroll za jedan ili više bitova može se definirati za jedan ili više redova teksta (karakter mod). Ako se želi raditi skrol cijelog ekrana treba odrediti red 0 kao početni do 5 reda. Skrol se može izvoditi "KRUŽNO" (ispis na drugoj strani ekrana) ili s nestajanjem.

POMAK PREMA GORE ILI DOLJE (SCROLL)TOP
09.jpg

Tekst scroll za jedan red prema gore ili prema dolje.

MOD EKRANA - NORMAL - INVERZNITOP
10.jpg

Ako želite promijeniti prikaz na ekranu možete promijeniti standardni crno-bijeli (0) u inverzni bijelo-crni (1).

KREIRANJE BITMAPE IGRAČATOP
11.jpg

Primjer kreiranja bitmape objekta igrača. Objekat igrača se može kontrolirati putem gumba "A" i "B" te analogno pinom "P1" i "P2". U kasnijem primjeru će biti prikazano kompletno upravljanje u svim smjerovima.

ANIMIRANI OBJEKT IGRAČATOP
12.jpg

Animacija se radi jednostavnim definiranjem druge bitmape (animacijske bitmape) koja se izmjenjuje sa glavnom bitmapom. Brzina animacije može se podešavati putem komande (animation player speed). Podešavanje je potrebno postaviti kod igre koja koristi horizontalni scroll (GAME scroll).

KONTROLE OBJEKTA - IGRAČTOP
13.jpg

Objekt igrača možemo kontrolirati putem tipkala na micro:bitu (A i B) i analogno putem ulaza P1 i P2. Primjer prikazuje program za kontrolu u sva četiri smjera. Osim kontrole pomakom objekta za nekoliko piksela, objekt igrača može skakati. Ovu kontrolu prikazat ćemo u drugom primjeru.

VERTIKALNI POMAK VIŠE OBJEKATATOP
14.jpg

Primjer pomaka više objekata na ekranu putem SCROLL funkcije. Program putem RANDOM funkcije iscrtava objekte na horizontalnu (x) poziciju i početnu vertikalnu poziciju (y=0). Zatim se kompletan sadržaj ekrana pomakne (scroll) za osam piksela prema dolje.

HORIZONTALNI POMAK OBJEKATA - GAME SCROLL -BRZINATOP
15.jpg

Primjer horizontalnog pomaka više objekata na ekranu putem GAME SCROLL funkcije. Program putem RANDOM funkcije iscrtava objekte na vertikalnu (y) poziciju. Horizontalna poziciju je jednaka za sve objekte (x=70). Sadržaj ekrana se automatski pomiče za jedan piksel. Da bi se novi objekti pojavljivali na ekranu u nekom razmaku koristi se varijabla index2. Primjer pokazuje način kontrole brzine pomaka pomoću funkcije GAME SPEED. Brzina je veća što je vrijednost manja i broj piksela pomaka veći (2). Kod odluke o brzini pomaka treba računati na broj objekata koji se nalazi na ekranu (aktivnih) i koji utječu na objekt igrača i komunikaciju između micro:bita i displeja. Maksimalna brzina je "10", a minimalna "255". Ukoliko se koristi velika brzina sa puno objekata i funkcija koje koriste komunikaciju, može se desiti da program prestane sa radom.

KREIRANJE NEAKTIVNIH OBJEKATA (ZID) TOP
16.jpg

Objekti koji aktivno ne sudjeluju u igri, kao što su zidovi, mogu se definirati do dužine od 10 bitmapa u horizontalnom ili vertikalnom smjeru. Sve kupno može biti 20 objekata (aktivnih i neaktivnih, osim igrača) definirano u igri. Tijekom igre objekti se mogu redefinirati.

GRAVITACIJA I KOLIZIJATOP
17.jpg

Dodirnim senzorima se mijenjaju ekrani, a tipkama A i B se kontrolira kretanje objekta igrača. U ovom primjeru za kontrolu igrača koristimo funkcije GRAVITACIJA i KOLIZIJA. Isprobajte kako se kreće objekt igrača sa uključenom funkcijom GRAVITACIJE, te kako utjeće na okolinu kad je uključena ili isključena funkcija KOLIZIJE.

PLATFORM GAME - POČETAKTOP
25.jpg

U svega OSAM KORAKA (dodali smo još jednu funkciju) postavlja se osnovna konstrukcija platformske igre. Ovaj osnovni primjer pokazuje kako se kreira objekt, platforma i određene karakteristike igre. Igrač se kontrolira putem tipke A na micro:bitu.

KOMPLETNA IGRA SA DVIJE PLATFORME (EKRANA)TOP
26.jpg

Primjer igre sa dvije platforme i četiri objekta - ukupno šest na dva ekrana (max.20). U programu se mogu vidjeti sve glavne funkcije i parametri koji se trebaju (mogu) postaviti. Ima još funkcija koje utječu na igru i mogu se koristiti, kao što je automatska izmjena nivoa (LEVELA) igre. Od početne brzine (sporije) prema sve većoj brzini. Kontrola objekta igrača putem tipke A na micro:bitu (JUMP).

GRAF MJERENJA TEMPERATURETOP
30.jpg

Jednostavan graf mjerenja temperature. Primjer je sa relativnim mjerenjem i za točne vrijednosti trebali bi u programu dodati preračunavanje (kalibraciju). U primjeru se koristi toplinski senzor za udaljeno mjerenje temperature GROVE koji je spojem na pinove P1 i P2, te na 3.3V napajanje. Za graf se koristi analogno očitanje pina P2. Prema ovom primjeru mogu se napraviti grafovi očitanja iz različitih senzora s analognim vrijednostima (foto, toplinski, zvučni, otporni, ultrazvučni,...).

ALARMTOP
31.jpg

U ovom primjeru koristimo GROVE PIR senzor i analogno očitavamo pin P1. Kad pin ima vrijednost veću od 100 uključuje se zvuk i upozorenje alarma, a kad je manja isključuje. Senzor detektira promjene do udaljenosti od 6m. Senzor je spojen na pin P1 i 3.3V napajanja.

ULTRAZVUČNI METARTOP
32.jpg

Mjerenje udaljenosti putem ultrazvučnog senzora. Primjer mjerenja udaljenosti sa ispisom vrijednosti na micro:bit AD displeju. Senzor je spojen na pinove P1 i P2, te na 3.3V napajanje.

MUZIČKE NOTE TOP
33.jpg

Primjer koji ispisuje muzičke note na notne crte uz istovremeno izvođenje određenog tona.