Sadržaj:

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

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

Video: Što je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit !: 10 koraka
Video: Leslie Kean on David Grusch (UFO Whistleblower): Non-Human Intelligence, Recovered UFOs, UAP, & more 2024, Srpanj
Anonim
Što je bit razmišljanja? Napravite jednostavnu igru pogađanja uz BBC Microbit!
Što 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.

Započnimo.

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 lako je 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 mrežni 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.

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

BBC Microbit osmišljen je za podučavanje programiranja koristeći pristup vrlo jednostavan za korištenje, pa je poznavanje drugog programskog jezika lijepo imati, ali nije potrebno, osobito 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 programskih platformi za upravljanje mikrokontrolerima.

Korak 2: Pravila igre pogađanja

Pravila igre pogađanja
Pravila igre pogađanja

Pravila igre su sljedeća:

  1. Prilikom uključivanja, BIT misli na broj i izaziva igrača da pogodi koji je to broj ispisujući poruku na LED ploči i čeka odgovor
  2. Igrač pogađa i pritiska lijevu tipku (A) onoliko puta koliko je odgovor - Primjer, ako je igrač pogodio 5, tada se gumb pritisne 5 puta
  3. Kako bi poslao odgovor na BIT, igrač jednom pritisne desnu tipku (B)!
  4. Ako igrači pogađaju točno, tada igrač osvaja bod, ako ne BIT dobiva bod
  5. Ako je jedan igrač pogodio broj izvan raspona, drugi igrač osvaja bod - BIT prikazuje veliki X na svom LED zaslonu 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 gumb B prije nego što pritisnete gumb A), tada se ta runda poništava
  6. Izazov-odgovor nastavlja se sve dok jedan od igrača ne osvoji maksimalno dopuštene bodove

Pokretanje nove igre:

Da biste započeli novu igru u bilo kojem trenutku, jednostavno protresite BIT! Ili jednostavno isključite i ponovno spojite 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 provjerava jesu li 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 pogađati od 1 do 6

MSG - Niz koji se mijenja za prikaz 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 imenovana stavka 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 stvoriti i pristupiti 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 netko 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č dobije 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" upravljači su događaja koji se pozivaju kad se dogode "start" događaj i "shake" događaji. Kao što se vidi iz koda Blocks, ono što se događa kada se pozovu ova dva upravljača događajima gotovo je isto kao u:

  • Funkcija showMessage () poziva se za prikaz poruke kada igra započne
  • Nakon prikaza poruke pojavljuje se kratka stanka 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.

Međutim, postoje temeljne razlike između rukovatelja 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 spajanja 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. S druge strane, "on shake" je rukovatelj događaja koji se poziva kad god 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 zaslonu 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 () poziva se na početku svakog kruga izazova, pa stoga čini sljedeće kako se vidi iz bloka funkcija doChallenge:

  1. Inicijalizira varijablu playerGuess na nulu prije prihvaćanja novog unosa od ljudskog igrača
  2. Inicijalizira varijablu CHECK na false - što znači da će runda uskoro započeti i još nije vrijeme za usporedbu brojeva koja su pogodila oba igrača
  3. Sljedeći i najvažniji, BIT odabire slučajni broj unutar raspona definiranog GAME_RANGE i zapisuje ga u varijablu bitGuessed
  4. Konačno, LED paleta je osvijetljena simbolom upitnika koji traži od ljudskog igrača unos 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 nizovana funkcija i može joj se pristupiti s kartice Programiranje teksta u uređivaču blokova

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

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 igrača je jednostavno učiniti sljedeće:

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

Očito 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 Blokovi. Svaki put, kada korisnik pritisne tipku 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 je poništeno i playerGuess se vraća na nulu, čime se pogađa igrači u osnovi

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

Korak 8: Događaj s klikom na gumb B - pošaljite odgovor na izazov BIT -a

Događaj s klikom na gumb B - pošaljite odgovor na izazov BIT -a!
Događaj s klikom na gumb B - pošaljite odgovor na izazov BIT -a!
Događaj s klikom na gumb B - pošaljite odgovor na izazov BIT -a!
Događaj s klikom na gumb B - pošaljite odgovor na izazov BIT -a!

Ljudski igrač dostavlja odgovor BIT -u pritiskom na gumb B jednom. U rukovatelju događaja gumba 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 postavljena je na True - signal za BIT da usporedi svoju pretpostavku s onom od igrača
  2. Bodovanje se nastavlja samo ako su oba igrača pogodili brojeve veće od nule i unutar ograničenja GAME_RANGE (od 6), a ako nije, poziva se funkcija showBadGuess () - igrač s dobrom pogodbom osvaja bod, a igrač s lošom pogađanjem s jednim!
  3. Ako igrači pretpostave da odgovaraju BIT -ovima, poziva se funkcija showWin () - igrač pobjeđuje u ovom krugu!
  4. Ako nije, pozvana je 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 postigavši 3 boda - ako je tako, igra je završena i konačni pobjednik je objavljen te su svi rezultati i poruke resetirati
  6. BIT ponovno pokreće igru izdavanjem izazova pozivanjem funkcije doChallenge () i čeka da igrač odgovori, a proces se ponavlja

U sljedećim koracima raspravljat ćemo o novim funkcijama.

Čekati! Kako pogađate NULA?

  • Ako pogledate funkciju random () Math, možete vidjeti da je njezina 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 pritiskom na gumb B bez prethodnog klika na gumb 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 nadoknađeno točkom #2. gore raspravljano

Korak 9: Pobjeda/gubitak i ostatak funkcija

Dobit/izgubi i ostatak funkcija
Dobit/izgubi i ostatak funkcija
Dobit/izgubi i ostatak funkcija
Dobit/izgubi i ostatak funkcija
Dobit/izgubi i ostatak funkcija
Dobit/izgubi i ostatak funkcija

Sve ove funkcije pozivaju rukovatelji događajima gumba B "on click", kao što je prikazano u prethodnom koraku.

Ove su funkcije prilično jednostavne i do tada biste se već trebali 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 pokrenite novu igru pozivanjem funkcije pokretanja showMessage () o kojoj je bilo riječi u prethodnom koraku (6) ovog IBLE -a

Na kraju, 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, gumb 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 gumbu 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 vas zamolio da napravite kopiju ovog koda i promijenite ga prema svojim potrebama tako da se izvorna verzija sačuva u interesu ovog IBLE -a

Hvala! I sretno kodiranje !!!:-)

Preporučeni: