Sadržaj:

Šta je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit !: 10 koraka
Šta je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit !: 10 koraka

Video: Šta je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit !: 10 koraka

Video: Šta je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit !: 10 koraka
Video: Java tech talk: Spring Boot and GraphQl integration. Как сделать это просто? 2024, Juli
Anonim
Šta je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit!
Šta je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit!

Uzeo sam nekoliko BBC Microbitova nakon što sam pročitao pozitivne kritike o njima u nekoliko internetskih članaka.

U pokušaju da se upoznam s BIT -om, par sati sam se igrao s mrežnim uređivačem Microsoft Blocks i smislio jednostavnu igru pogađanja.

U ovom IBLE -u govorit ćemo o pravilima igre i kretati se kroz funkcije sastavljene u različitim blokovima koda u uređivaču blokova.

Konačno, uzbuđena publika može otići do online simulatora i isprobati ovu jednostavnu igru.

Hajde da počnemo.

Korak 1: Prije početka …

Prije početka rada…
Prije početka rada…
Prije početka rada…
Prije početka rada…

Hardver

BBC Microbit ploču je lako upoznati. Za ovaj IBLE sve što trebate znati je da je to mala ploča s 2 tipke, nizom sitnih LED dioda i mikro-USB utičnicom koja djeluje kao izvor napajanja i sredstvo za učitavanje programa na ploču.

Niz sićušnih LED dioda može se programirati da svijetli u različitim uzorcima.

Bilješka:

Za ovaj IBLE vam ne treba fizička ploča! BBC Microbit stranica ima online simulator za testiranje koda koji razvijate na mreži.

Softver

Ovaj IBLE ne ulazi u detalje o početku rada s BBC Microbit i/ili uređivačem mrežnih blokova.

Pozivaju se publika da istraži ovaj BBC Micorbit resurs prije nego što pređe na sljedeće korake.

BBC Microbit je dizajniran za podučavanje programiranja koristeći pristup vrlo jednostavan za korištenje, pa je poznavanje drugog programskog jezika lijepo imati, ali nije potrebno, posebno ako ćete za učenje programiranja koristiti Microsoft Blocks Editor.

Ipak, još nisam naišao na proizvod s kojim je tako lako započeti s radom, a ne na BBC Microbit, s obzirom da posjedujem i igram se s nekoliko drugih platformi za programiranje mikrokontrolera.

Korak 2: Pravila igre pogađanja

Pravila igre pogađanja
Pravila igre pogađanja

Pravila igre su sledeća:

  1. Prilikom uključivanja, BIT misli na broj i izaziva ljudski igrač da pogodi koji je to broj ispisujući poruku na LED panelu i čeka odgovor
  2. Igrač pogađa i pritiska lijevo dugme (A) onoliko puta koliko je odgovor - Primjer, ako je igrač pogodio 5, tada se dugme pritisne 5 puta
  3. Da bi dostavio odgovor na BIT, igrač jednom pritisne desnu tipku (B)!
  4. Ako igrači pretpostave da je točan, igrač osvaja bod, ako ne BIT dobija bod
  5. Ako je jedan igrač pogodio broj izvan raspona, drugi igrač osvaja bod - BIT prikazuje veliki X na svom LED ekranu i nastavlja pogađati novi broj i ponoviti izazov; Primjer: Ako vas je BIT izazvao da pogodite broj između 1 i 5, a vi ste pogodili 6, ili ako ste pogodili NUU (jednostavnim pritiskom na dugme B prije nego što ste pritisnuli dugme A), tada je ta runda poništena
  6. Izazov-odgovor se nastavlja sve dok jedan od igrača ne osvoji maksimalno dozvoljene bodove

Pokretanje nove igre:

Da biste započeli novu igru u bilo koje vrijeme, jednostavno protresete BIT! Ili jednostavno isključite i ponovo uključite napajanje.

Korak 3: Program Blocks: Varijable

Program Blocks: Varijable
Program Blocks: Varijable

Program koristi nekoliko varijabli imenovanih kako bi odgovarale dolje navedenim funkcijama. Ove se varijable mogu stvoriti klikom na karticu Programiranje varijabli u uređivaču blokova

BIT_SCORE - Prati bodove koje je BIT osvojio

bitGuessed - Ova varijabla sadrži slučajnu vrijednost koju pogađa BIT

CHECK - kada je postavljeno na True, BIT proverava da li su igrači pogodili jednako BIT -u

GAME_RANGE - Ovaj broj ograničava koliko BIT ili igrač može pogoditi

Primjer: Ako je postavljeno na 6, oba igrača mogu pogoditi od 1 do 6

MSG - Niz koji se mijenja radi prikazivanja različitih poruka ovisno o kontekstu igre

PLAYER_SCORE - prati bodove koje je igrač osvojio

playerGuess - Broj koji je igrač pogodio zabilježen je u ovoj varijabli

BILJEŠKA

Prva varijabla nazvana item opća je i zadana varijabla i može se zanemariti

Korak 4: Funkcije

Funkcije
Funkcije

Kao dio procesa učenja i radi bolje organizacije, kôd je bio organiziran u brojne funkcije koje se mogu pozvati ili pozvati u glavnom programu. Baš kao varijable, funkcije se mogu kreirati i pristupati im klikom na karticu Napredno> Programiranje funkcija.

Dolje je kratak opis funkcija:

najavaWinner - Ova funkcija ispisuje pobjedničku poruku upućenu pobjedniku

doChallenge - funkcija koju BIT poziva da pogodi broj i izazove igrača

showBadGuess - prikazuje poruku s velikim X na LED ploči ako je bilo koji od igrača pogodio izvan dopuštenog raspona

showLose - poziva se ako BIT osvoji rundu izazova nad igračem

showMessage - predstavlja poruku koja izaziva igrača da pogodi broj unutar zadanog raspona

showWin - poziva se kada igrač osvoji krug pogađanja preko BIT -a

Korak 5: Pokretanje programa i Shake Events & Event Handlers

Pokretanje programa i Shake Events & Event Handlers
Pokretanje programa i Shake Events & Event Handlers

"On start" i "on shake" su rukovaoci događaja koji se pozivaju kada se dogode "start" i "shake" događaji. Kao što se vidi iz koda Blocks, ono što se događa kada se pozovu ova dva rukovaoca događaja gotovo je isto kao u:

  • Funkcija showMessage () se poziva za prikaz poruke kada igra započne
  • Nakon prikaza poruke pojavljuje se kratka pauza od 650 mili-sekundi
  • Poziva se funkcija doChallenge () u kojoj BIT pogađa broj i čeka da ljudski igrač podnese pogađanje

U sljedećem koraku ćemo obraditi dvije funkcije.

Uprkos tome, postoje fundamentalne razlike između upravljača događaja "pri pokretanju" i "pri protresanju":

  1. Rukovalac događajem "pri pokretanju" radi svaki put pri pokretanju BIT -a - kao kod isključivanja i ponovnog priključivanja napajanja na BIT
  2. Određene stvari koje se moraju dogoditi samo jednom pri pokretanju programa definirane su u "pri pokretanju" i nigdje drugdje u cijelom programu
  3. Jedna takva stvar je inicijalizacija varijable GAME_RANGE - u ovom slučaju, ona se inicijalizira na 6, što znači da igrači mogu pogoditi broj između 1 i 6
  4. Budući da je "pri pokretanju" osnovna BIT funkcija, nije ni čudo što joj je moguće pristupiti s kartice Osnovno programiranje uređivača blokova
  5. "On shake" s druge strane je rukovatelj događaja koji se poziva svaki put kada korisnik unese ulaz u BIT u obliku brzog protresanja
  6. Stoga se rukovatelj događaja "on shake" može pronaći unutar kartice Programiranje unosa uređivača blokova

Korak 6: Poruka o pokretanju i funkcije izazova

Poruka o pokretanju i funkcije izazova
Poruka o pokretanju i funkcije izazova
Poruka o pokretanju i funkcije izazova
Poruka o pokretanju i funkcije izazova
Poruka o pokretanju i funkcije izazova
Poruka o pokretanju i funkcije izazova

Funkcija showMessage () Startup Message je jednostavna funkcija koja briše LED paletu BIT -ova jasnom naredbom na ekranu i prikazuje poruku koja se pomiče izazivajući igrača da pogodi broj.

Kao što se vidi iz funkcijskog bloka showMessage, nekoliko fiksnih dijelova niza dodano je zajedno varijabli GAME_RANGE za prikaz jednostavne poruke koja kaže:

Pogodite 0 - 6!

Funkcija doChallenge () se poziva na početku svakog kruga izazova, pa stoga čini sljedeće kako se vidi iz bloka funkcija doChallenge:

  1. Pokreće varijablu playerGuess na nulu prije prihvaćanja novog unosa od ljudskog igrača
  2. Pokreće varijablu CHECK na false - što znači da će runda uskoro započeti i još nije vrijeme za usporedbu brojeva koje su pogodila oba igrača
  3. Sljedeći i najvažniji, BIT odabire slučajni broj unutar raspona definiranog GAME_RANGE i bilježi ga u bitGuessed varijabli
  4. Konačno, LED paleta je osvijetljena simbolom upitnika koji traži od igrača da unese odgovor kao odgovor na BIT izazov!

Bilješka

Ako se vrijednost varijable GAME_RANGE promijeni kao što je objašnjeno u prethodnom koraku, vaša igra može izgledati i djelovati malo drugačije.

Funkcija pridruživanja je niz funkcija i može joj se pristupiti sa kartice Programiranje teksta u uređivaču blokova

Korak 7: Događaj Button a Click - Odgovorite na BIT izazov

Događaj Button a Click - Odgovorite na BIT izazov!
Događaj Button a Click - Odgovorite na BIT izazov!

Nakon što se veliki znak pitanja pojavi na LED ekranu BIT -a, odgovor na izazov za ljudskog igrača je jednostavno učiniti sljedeće:

  1. Pogodite koji bi broj BIT mogao misliti između 0 i 6
  2. Pritisnite dugme A onoliko puta koliko je vaš odgovor - Primjer ako je vaš odgovor 3, a zatim pritisnite dugme A 3 puta

Očigledno je da je pritiskanje gumba korisnički unos i stoga je rukovatelju događaja "on button" dostupno putem kartice Programiranje unosa u uređivaču blokova. Svaki put, kada korisnik pritisne dugme A, ovaj upravljač događajima čini sljedeće:

  • Povećajte vrijednost varijable playerGuess za 1 sve dok je unutar ograničenja GAME_RANGE (6 u ovom slučaju)
  • Ako igrač podnese 7 ili više, pogađanje se poništava i playerGuess se vraća na nulu, čime se u osnovi poništava pogađanje igrača

Sljedeća radnja je podnošenje odgovora na izazov kroz koji ćemo proći u sljedećem koraku.

Korak 8: Događaj klikom na dugme B - Pošaljite odgovor na BIT izazov

Događaj sa klikom na dugme B - pošaljite odgovor na BIT izazov!
Događaj sa klikom na dugme B - pošaljite odgovor na BIT izazov!
Događaj klikom na dugme B - Pošaljite odgovor na BIT izazov!
Događaj klikom na dugme B - Pošaljite odgovor na BIT izazov!

Ljudski igrač dostavlja odgovor BIT -u pritiskom na dugme B jednom. U rukovatelju događaja Button B "on click" događa se nekoliko koraka čim BIT primi odgovor igrača kako je označeno oznakama koda na slici:

  1. Zastavica CHECK je postavljena na True - signal za BIT da uporedi svoju pretpostavku sa onom koju su dali igrači
  2. Bodovanje se nastavlja samo ako su oba igrača pogodila brojeve veće od nule i unutar GAME_RANGE ograničenja (od 6), a ako nije, poziva se funkcija showBadGuess () - igrač s dobrom pogodbom osvaja bod, a igrač s lošom pogađanjem gubi jedan!
  3. Ako igrači pretpostave da odgovaraju BIT -ovima, poziva se funkcija showWin () - igrač pobjeđuje u ovoj rundi!
  4. Ako nije, poziva se funkcija showLose () - BIT pobjeđuje u ovom krugu!
  5. Na kraju svakog kruga provjerom se vrši funkcija cancelWinner () kako bi se vidjelo je li jedan od dva igrača pobijedio osvojivši 3 boda - ako je tako, igra je završena i konačni pobjednik je objavljen, a svi rezultati i poruke su resetovati
  6. BIT ponovo pokreće igru izdavanjem izazova pozivanjem funkcije doChallenge () i čeka da igrač odgovori, a proces se ponavlja

O novim funkcijama razgovarat ćemo u sljedećim koracima.

Čekaj! Kako pretpostavljate NULA?

  • Ako pogledate funkciju random () Math, možete vidjeti da je njena početna vrijednost postavljena na nulu i da se ne može promijeniti.
  • BIT je stoga slobodan pogoditi nulu i izazvati igrača kao rezultat ovog ograničenja
  • Slično, ljudski igrač može podnijeti nulu pogađanjem jednostavnim klikom na dugme B bez prethodnog klika na dugme A!
  • Ako je to dopušteno, ljudski igrač ne mora uložiti nikakav napor da bi igrao, a to nema smisla!
  • Stoga je ovo ograničenje kompenzirano točkom #2. raspravljano gore

Korak 9: Pobjeda/gubitak i ostatak funkcija

Pobjeda/gubitak i ostatak funkcija
Pobjeda/gubitak i ostatak funkcija
Pobjeda/gubitak i ostatak funkcija
Pobjeda/gubitak i ostatak funkcija
Pobjeda/gubitak i ostatak funkcija
Pobjeda/gubitak i ostatak funkcija

Sve ove funkcije se pozivaju rukovaocem događaja dugmeta B "on click" kao što je prikazano u prethodnom koraku.

Ove su funkcije prilično jednostavne i do tog trenutka trebali biste se upoznati s intuitivnom i narativnom prirodom koda stvorenog kombinacijom prikladno imenovanih varijabli i vizualnih atributa uređivača blokova.

  1. Funkcija showWin () prikazuje poruku koja pokazuje da je igrač pobijedio u ovoj rundi izazova i povećava varijablu PLAYER_SCORE za 1
  2. Slično, funkcija showLose () prikazuje da je igrač pogriješio i dodjeljuje bod BIT -u povećavajući varijablu BIT_SCORE za 1
  3. Funkcija showBadGuess () prikazuje veliki X na ekranu što ukazuje na to da je jedan od igrača pogriješio (bilo 0 ili više od 6) - loš igrač u ovom slučaju gubi bod, a drugi osvaja bod!

I na kraju, funkcija cancelWinner () obavlja zadatak objavljivanja tko je veliki pobjednik nakon 3 kruga izazova/odgovora nakon čega slijedi:

  • Poništavanje varijabli rezultata PLAYER_SCORE i BIT_SCORE
  • Nakratko zastanite i započnite novu igru pozivanjem funkcije pokretanja showMessage () o kojoj je bilo riječi u prethodnom koraku (6) ovog IBLE -a

Konačno, na simulator i kod!

Korak 10: Simulator i kod

Simulator i kod
Simulator i kod

Kôd se izvodi u online simulatoru koji se nalazi ovdje

  • Simulator se nalazi u donjem lijevom kutu stranice
  • Alternativno, dugme Preuzmi se može koristiti za preuzimanje koda u slučaju da imate pri ruci BBC Microbit
  • Kao što je spomenuto na početku IBLE -a, nije vam potreban BBC Microbit za izradu koda u uređivaču blokova ili za simulaciju i testiranje vašeg koda, iako to ne funkcionira za znatiželjne pojedince poput mene!

Napomena o dugmetu Uređivanje

  • Ako ste primijetili, kôd je u javnoj domeni i postoji način da ga uredite pomoću gumba Uredi u gornjem desnom kutu
  • Međutim, iskreno bih zamolio da napravite kopiju ovog koda i promijenite ga tako da odgovara vašim potrebama tako da se originalna verzija sačuva u interesu ovog IBLE -a

Hvala! I sretno kodiranje !!!:-)

Preporučuje se: