Cuprins:

Ce este Bit Thinking? Faceți un joc simplu de ghicit cu BBC Microbit !: 10 pași
Ce este Bit Thinking? Faceți un joc simplu de ghicit cu BBC Microbit !: 10 pași

Video: Ce este Bit Thinking? Faceți un joc simplu de ghicit cu BBC Microbit !: 10 pași

Video: Ce este Bit Thinking? Faceți un joc simplu de ghicit cu BBC Microbit !: 10 pași
Video: DOCUMENTAR RECORDER. 30 de ani de democrație 2024, Iulie
Anonim
Ce este Bit Thinking? Faceți un joc simplu de ghicit cu BBC Microbit!
Ce este Bit Thinking? Faceți un joc simplu de ghicit cu BBC Microbit!

Am luat câteva microbiți BBC după ce am citit recenzii pozitive despre ele în mai multe articole online.

În încercarea de a mă familiariza cu BIT, m-am jucat cu editorul online Microsoft Blocks timp de câteva ore și am venit cu un joc simplu de ghicit.

În acest IBLE vom vorbi despre regulile jocului și vom naviga prin funcțiile asamblate în diferite blocuri de cod în Editorul de blocuri.

În cele din urmă, publicul entuziasmat poate naviga la simulatorul online și poate da acestui joc simplu o lovitură.

Să începem.

Pasul 1: Înainte de a începe …

Înainte de a începe …
Înainte de a începe …
Înainte de a începe …
Înainte de a începe …

Hardware-ul

Placa BBC Microbit este ușor de familiarizat. Pentru acest IBLE, tot ce trebuie să știți este că este o placă mică cu 2 butoane, o gamă de LED-uri minuscule și o priză micro-USB care acționează ca sursă de alimentare și un mijloc de încărcare a unui program pe placă.

Gama de LED-uri minuscule poate fi programată să se aprindă în diferite modele.

Notă:

Nu aveți nevoie de placa fizică pentru acest IBLE! Site-ul BBC Microbit are un simulator online pentru a testa codul pe care îl dezvolți online.

Software-ul

Acest IBLE nu intră în detaliu la începerea utilizării BBC Microbit și / sau Editorului de blocuri online.

Publicul este încurajat să exploreze această resursă BBC Micorbit înainte de a trece la următorii pași.

BBC Microbit a fost conceput pentru a preda programarea utilizând o abordare foarte ușor de utilizat și, prin urmare, familiarizarea cu un alt limbaj de programare este plăcut, dar nu este necesar mai ales dacă veți folosi Microsoft Blocks Editor pentru a învăța programarea.

Cu toate acestea, nu am întâlnit încă un produs care să fie atât de ușor de început decât BBC Microbit, având în vedere că dețin și mă joc cu alte câteva platforme de programare pentru microcontrolere.

Pasul 2: Regulile jocului de ghicit

Regulile jocului de ghicit
Regulile jocului de ghicit

Regulile jocului sunt după cum urmează:

  1. La pornire, BIT se gândește la un număr și îl provoacă pe jucătorul uman să ghicească care este acel număr imprimând un mesaj pe panoul său LED și așteaptă un răspuns
  2. Jucătorul face o presupunere și apasă butonul stânga (A) de câte ori răspunde - Exemplu, dacă jucătorul a ghicit 5, butonul este apăsat de 5 ori
  3. Pentru a trimite răspunsul la BIT, jucătorul apasă o dată pe butonul Dreapta (B)!
  4. Dacă jucătorii presupun că are dreptate, atunci jucătorul înscrie un punct, dacă nu BIT obține un punct
  5. Dacă un jucător a ghicit un număr în afara intervalului, celălalt jucător marchează un punct - BIT afișează un X mare pe afișajul său LED și continuă să ghicească un număr nou și să repete provocarea; Exemplu: Dacă BIT v-a provocat să ghiciți un număr între 1 și 5 și ați ghicit 6 sau dacă ați ghicit ZERO (prin simpla apăsare a butonului B înainte de apăsarea butonului A), atunci runda respectivă este invalidată
  6. Provocarea-răspuns continuă până când unul dintre jucători înregistrează punctele maxime admise

Lansarea unui joc nou:

Pentru a începe oricând un joc nou, pur și simplu dați BIT un shake! Sau pur și simplu deconectați și reconectați alimentarea.

Pasul 3: Programul Blocuri: Variabile

Programul Blocuri: Variabile
Programul Blocuri: Variabile

Programul folosește câteva variabile denumite pentru a se potrivi funcțiilor lor enumerate mai jos. Aceste variabile pot fi create făcând clic pe fila Programare variabile din Editorul de blocuri

BIT_SCORE - Ține evidența punctelor obținute de BIT

bitGuessed - Această variabilă deține valoarea aleatorie ghicită de BIT

CHECK - când este setat la True, BIT verifică dacă jucătorii presupun că este egal cu BITs

GAME_RANGE - Acest număr limitează cât de mare poate ghici BIT sau un jucător

Exemplu: dacă este setat la 6, oricare dintre jucători poate ghici de la 1 la 6

MSG - Un șir care este modificat pentru a afișa diferite mesaje bazate pe contextul jocului

PLAYER_SCORE - ține evidența punctelor marcate de jucător

playerGuess - Numărul ghicit de jucător este înregistrat în această variabilă

NOTĂ

Prima variabilă numită element este o variabilă generală și implicită și poate fi ignorată

Pasul 4: Funcțiile

Funcțiile
Funcțiile

Ca parte a procesului de învățare și pentru o mai bună organizare, codul a fost organizat într-o serie de funcții care ar putea fi apelate sau invocate în programul principal. La fel ca variabile, funcțiile pot fi create și accesate făcând clic pe fila Advanced> Functions Programming.

Iată mai jos o scurtă descriere a funcțiilor:

announceWinner - Această funcție imprimă mesajul câștigător adresat jucătorului câștigător

doChallenge - Funcția pe care BIT o numește pentru a ghici un număr și a pune o provocare jucătorului

showBadGuess - Afișează un mesaj cu un X imens pe panoul LED dacă oricare dintre jucătorii ghiciți în afara intervalului permis

showLose - se numește dacă BIT câștigă o rundă de provocare asupra jucătorului

showMessage - prezintă un mesaj pentru a-l provoca pe jucător să ghicească un număr într-un interval stabilit

showWin - este apelat la momentul în care jucătorul câștigă runda de ghicire asupra BIT

Pasul 5: Startul programului și Shake Events & Event Handlers

Startul programului și Shake Events & Event Handlers
Startul programului și Shake Events & Event Handlers

„On start” și „on shake” sunt gestionare de evenimente care sunt apelate respectiv atunci când se întâmplă evenimentul „start” și „shake”. După cum se vede din codul Blocks, ceea ce se întâmplă atunci când se apelează aceste două manipulatoare de evenimente sunt aproape la fel ca în:

  • Funcția showMessage () este apelată pentru a afișa mesajul când începe jocul
  • Există o scurtă pauză de 650 de milisecunde după afișarea mesajului
  • Se numește funcția doChallenge () în care BIT ghicește un număr și așteaptă ca jucătorul uman să trimită o presupunere

Vom acoperi cele două funcții în pasul următor.

Acestea fiind spuse, există diferențe fundamentale între gestionarele de evenimente „on start” și „on shake”:

  1. Gestionarul de evenimente „la pornire” rulează de fiecare dată când BIT este pornit - ca și în cazul deconectării și reconectării alimentării la BIT
  2. Anumite lucruri care trebuie să se întâmple o singură dată când programul pornește sunt definite în „pornire” și nicăieri altundeva în întregul program
  3. Un astfel de lucru este inițializarea variabilei GAME_RANGE - în acest caz, este inițializată la 6 ceea ce înseamnă că jucătorii pot ghici un număr între 1 și 6
  4. Deoarece „la început” este o funcție de bază BIT, nu este de mirare că este accesibil din fila Programare de bază a Editorului de blocuri
  5. Pe de altă parte, „on shake” este un handler de evenimente care este apelat ori de câte ori utilizatorul furnizează o intrare către BIT sub forma unui shake rapid
  6. Prin urmare, gestionarul de evenimente „on shake” poate fi găsit în fila Programare intrare a Editorului de blocuri

Pasul 6: Mesajul de pornire și funcțiile de provocare

Mesajul de pornire și funcțiile de provocare
Mesajul de pornire și funcțiile de provocare
Mesajul de pornire și funcțiile de provocare
Mesajul de pornire și funcțiile de provocare
Mesajul de pornire și funcțiile de provocare
Mesajul de pornire și funcțiile de provocare

Funcția ShowMessage () Startup Message este o funcție simplă care șterge paleta LED-urilor BIT cu o comandă de ecran clar și afișează un mesaj de defilare care îl provoacă pe jucător să ghicească un număr.

După cum se vede din blocul funcțional showMessage, câteva fragmente fixe de șir sunt atașate împreună variabilei GAME_RANGE pentru a afișa un mesaj simplu care spune:

Ghici 0 - 6!

Funcția doChallenge () este apelată la începutul fiecărei runde de provocare și, prin urmare, face următoarele, după cum se vede din blocul funcțional doChallenge:

  1. Inițializează variabila playerGuess la zero înainte de a accepta o nouă intrare de la jucătorul uman
  2. Inițializează variabila CHECK la fals - ceea ce înseamnă că runda este pe cale să înceapă și încă nu este timpul să comparați numerele ghicite de ambii jucători
  3. Apoi și cel mai semnificativ, BIT alege un număr aleatoriu în intervalul definit de GAME_RANGE și îl înregistrează în variabila bitGuessed
  4. În cele din urmă, paleta cu LED-uri este aprinsă cu un simbol semn de întrebare care cere jucătorului uman o intrare ca răspuns la provocarea BIT!

Notă

Dacă valoarea variabilă GAME_RANGE este modificată după cum sa discutat în pasul anterior, jocul dvs. poate arăta și acționa puțin diferit.

Funcția de asociere este o funcție de șir și poate fi accesată din fila Programare text a Editorului de blocuri

Pasul 7: Evenimentul Buton un clic - Răspunde la provocarea BITs

Evenimentul Button a Click - Răspunde la provocarea BITs!
Evenimentul Button a Click - Răspunde la provocarea BITs!

Odată ce semnul de întrebare mare apare pe ecranul cu LED-uri BIT, răspunsul la provocarea pentru jucătorul uman este de a face pur și simplu următoarele:

  1. Ghiciți la ce număr s-ar putea gândi BIT între 0 și 6
  2. Apăsați butonul A de câte ori este răspunsul dvs. - Exemplu dacă răspunsul dvs. este 3, apoi apăsați butonul A de 3 ori

Evident, apăsarea butonului este o intrare a utilizatorului și, prin urmare, gestionarul de evenimente „buton pornit” este accesibil prin intermediul filei de programare Intrare a editorului Blocuri. De fiecare dată când utilizatorul apasă butonul A, acest gestionar de evenimente face următoarele:

  • Măriți valoarea variabilei playerGuess cu 1 atâta timp cât se încadrează în limita GAME_RANGE (6 în acest caz)
  • Dacă jucătorul trimite 7 sau mai mult, presupunerea este invalidată și playerGuess este resetată din nou la zero, invalidând în esență presupunerea jucătorilor

Următoarea acțiune este de a trimite răspunsul la provocare, pe care îl vom parcurge în pasul următor.

Pasul 8: Butonul B Faceți clic pe eveniment - Trimiteți răspuns la provocarea BIT

Butonul B Faceți clic pe eveniment - Trimiteți răspuns la provocarea BIT!
Butonul B Faceți clic pe eveniment - Trimiteți răspuns la provocarea BIT!
Butonul B Faceți clic pe eveniment - Trimiteți răspuns la provocarea BIT!
Butonul B Faceți clic pe eveniment - Trimiteți răspuns la provocarea BIT!

Jucătorul uman trimite răspunsul la BIT apăsând o dată butonul B. Un număr de pași se întâmplă în butonul B de gestionare a evenimentului „la clic” imediat ce BIT primește răspunsul jucătorilor, așa cum este indicat de marcatorii de cod din imagine:

  1. Steagul CHECK este setat la True - un semnal pentru BIT pentru a compara presupunerea sa cu cea a jucătorilor
  2. Scorul se desfășoară numai dacă ambii jucători au ghicit numere mai mari decât Zero și în limita GAME_RANGE (de 6) și, dacă nu, funcția showBadGuess () este numită - jucătorul de ghici bun câștigă un punct, iar jucătorul de ghici rău pierde unul!
  3. Dacă jucătorii ghicesc potrivirile cu cele ale BIT-urilor, se numește funcția showWin () - jucătorul câștigă această rundă!
  4. Dacă nu, funcția showLose () este numită - BIT câștigă această rundă!
  5. O verificare este efectuată la sfârșitul fiecărei runde de funcția announceWinner () pentru a vedea dacă unul dintre cei doi jucători a câștigat marcând 3 puncte - dacă da, jocul este încheiat și câștigătorul final este anunțat și toate scorurile și mesajele sunt resetați
  6. BIT repornește jocul lansând o provocare apelând funcția doChallenge () și așteaptă ca jucătorul să răspundă și procesul se repetă

Vom discuta noile funcții în pașii următori.

Aștepta! Cum ghici ZERO?

  • Dacă vă uitați la funcția de matematică random (), puteți vedea că valoarea inițială este setată la zero și nu poate fi modificată.
  • BIT este, prin urmare, liber să ghicească un zero și să provoace jucătorul ca urmare a acestei limitări
  • În mod similar, jucătorul uman poate trimite o presupunere zero făcând clic pe butonul B fără a face clic mai întâi pe butonul A!
  • Dacă acest lucru este permis, atunci jucătorul uman nu trebuie să facă niciun efort pentru a juca și asta nu are sens!
  • Prin urmare, această limitare a fost compensată de Bullet # 2. discutată mai sus

Pasul 9: Câștigarea / pierderea și restul funcțiilor

Câștigarea / pierderea și restul funcțiilor
Câștigarea / pierderea și restul funcțiilor
Câștigarea / pierderea și restul funcțiilor
Câștigarea / pierderea și restul funcțiilor
Câștigarea / pierderea și restul funcțiilor
Câștigarea / pierderea și restul funcțiilor

Toate aceste funcții sunt apelate de către butonul B care gestionează evenimentele „la clic”, așa cum se vede în pasul anterior.

Aceste funcții sunt destul de simple și până în acest moment ar trebui să vă familiarizați cu natura intuitivă și narativă a codului creat de o combinație de variabile numite în mod adecvat și atributele vizuale ale Editorului de blocuri.

  1. Funcția showWin () afișează un mesaj care indică faptul că jucătorul a câștigat această rundă de provocare și crește variabila PLAYER_SCORE cu 1
  2. În mod similar, funcția showLose () afișează faptul că jucătorul a făcut o presupunere greșită și acordă un punct BIT incrementând variabila BIT_SCORE cu 1
  3. Funcția showBadGuess () afișează un X mare pe ecran, indicând faptul că unul dintre jucători a făcut o presupunere proastă (fie 0, fie mai mare de 6) - jucătorul rău, în acest caz, pierde un punct, iar celălalt înregistrează un punct!

Și, în sfârșit, funcția announceWinner () îndeplinește sarcina de a anunța cine este marele câștigător după 3 runde de provocare / răspuns urmate de:

  • Resetarea variabilelor de scor PLAYER_SCORE și BIT_SCORE
  • Pauză scurtă și lansarea unui nou joc apelând funcția de pornire showMessage () discutată în pasul anterior (6) al acestui IBLE

În cele din urmă, treceți la simulator și cod!

Pasul 10: Simulatorul și codul

Simulatorul și codul
Simulatorul și codul

Codul rulează în simulatorul online situat aici

  • Simulatorul este situat în colțul din stânga jos al paginii
  • Alternativ, butonul Descărcare poate fi utilizat pentru a descărca codul în cazul în care aveți un BBC Microbit la îndemână
  • Așa cum am menționat la începutul IBLE, nu aveți nevoie de un BBC Microbit pentru a construi codul în Blocks Editor sau pentru a simula și testa codul dvs., deși acest lucru nu funcționează pentru persoane curioase precum mine!

O notă pe butonul Editare

  • Dacă ați observat, codul se află în domeniul public și există o modalitate de a-l edita folosind butonul Editați din partea dreaptă sus
  • Cu toate acestea, aș solicita sincer să faceți o copie a acestui cod și să îl modificați pentru a se potrivi nevoilor dvs., astfel încât versiunea originală să fie păstrată în interesul acestui IBLE

Mulțumiri! Și codificare fericită !!!:-)

Recomandat: