Sisukord:

Mida natuke mõtleb? Tehke lihtne arvamismäng BBC mikrobitiga !: 10 sammu
Mida natuke mõtleb? Tehke lihtne arvamismäng BBC mikrobitiga !: 10 sammu

Video: Mida natuke mõtleb? Tehke lihtne arvamismäng BBC mikrobitiga !: 10 sammu

Video: Mida natuke mõtleb? Tehke lihtne arvamismäng BBC mikrobitiga !: 10 sammu
Video: Tourist Trophy: Closer To The Edge - Полный документальный фильм TT3D (Доступны субтитры !!) 2024, Juuli
Anonim
Mida natuke mõtleb? Tehke lihtne arvamismäng BBC mikrobitiga!
Mida natuke mõtleb? Tehke lihtne arvamismäng BBC mikrobitiga!

Võtsin paar BBC Microbiti kätte pärast seda, kui olin lugenud nende kohta mitmetest veebiartiklitest positiivseid arvustusi.

Püüdes end BIT -iga kurssi viia, mängisin paar tundi veebipõhise Microsoft Blocks Editoriga ja mõtlesin välja lihtsa äraarvamismängu.

Selles IBLE -s räägime mängureeglitest ja navigeerime plokkide redaktoris erinevatesse koodiplokkidesse koondatud funktsioonides.

Lõpuks saab põnevil publik navigeerida veebisimulaatorile ja proovida seda lihtsat mängu.

Alustame.

Samm: enne alustamist…

Enne alustamist…
Enne alustamist…
Enne alustamist…
Enne alustamist…

Riistvara

BBC Microbiti plaadiga on lihtne tutvuda. Selle IBLE jaoks peate teadma ainult seda, et see on väike tahvel, millel on 2 nupp, hulk pisikesi LED-e ja mikro-USB-pesa, mis toimib toiteallikana ja vahendina programmi tahvlile laadimiseks.

Pisikeste valgusdioodide massiivi saab programmeerida süttima erinevates mustrites.

Märge:

Selle IBLE jaoks pole füüsilist tahvlit vaja! BBC Microbiti saidil on veebisimulaator, mille abil saate veebis välja töötatud koodi testida.

Tarkvara

See IBLE ei anna BBC Microbiti ja/või veebiplokkide redigeerijaga alustamise üksikasju.

Publikul soovitatakse enne järgmiste sammude jätkamist seda BBC Micorbit ressurssi uurida.

BBC Microbit on loodud õpetama programmeerimist väga kasutajasõbraliku lähenemisviisiga ja seetõttu on teise programmeerimiskeele tundmine tore, kuid mitte kohustuslik, eriti kui kavatsete programmeerimise õppimiseks kasutada Microsoft Blocks Editori.

Sellest hoolimata pole ma veel kohanud toodet, millega oleks nii lihtne alustada kui BBC Microbitiga, arvestades, et ma oman ja mängin mitmete teiste mikrokontrollerite programmeerimisplatvormidega.

2. samm: Guessing Game reeglid

Arvatava mängu reeglid
Arvatava mängu reeglid

Mängureeglid on järgmised:

  1. Sisselülitamisel mõtleb BIT numbrile ja kutsub inimmängijat arvama, mis see number on, printides oma LED -paneelile teate ja ootab vastust
  2. Mängija teeb oletuse ja vajutab vasakpoolset nuppu (A) sama palju kordi kui vastust - Näide, kui mängija arvas 5, siis vajutati nuppu 5 korda
  3. BIT -ile vastuse esitamiseks vajutab mängija üks kord paremat vajutusnuppu (B)!
  4. Kui mängijad arvavad, et see on õige, saab mängija punkti, kui mitte BIT, saab punkti
  5. Kui üks mängija arvas vahemikust väljaspool olevat numbrit, saab teine mängija punkti - BIT kuvab oma LED -ekraanil suure X -i ja arvab uue numbri ning kordab väljakutset; Näide: Kui BIT kutsus teid ära arvama arvu vahemikus 1 kuni 5 ja te arvasite 6 või kui te arvasite nulli (lihtsalt vajutades nuppu B enne nupu A vajutamist), siis see ring tühistatakse
  6. Väljakutse-vastus jätkub seni, kuni üks mängijatest saab maksimaalse lubatud punkti

Uue mängu alustamine:

Uue mängu alustamiseks igal ajal raputage lihtsalt BIT! Või lihtsalt ühendage toide lahti ja ühendage uuesti.

3. samm: plokkide programm: muutujad

Plokkide programm: muutujad
Plokkide programm: muutujad

Programm kasutab mõningaid muutujaid, mis vastavad nende funktsioonidele, mis on loetletud allpool. Neid muutujaid saab luua, klõpsates plokkide redaktori vahekaardil Muutujate programmeerimine

BIT_SCORE - jälgib BIT -i kogutud punkte

bitGuessed - see muutuja sisaldab juhuslikku väärtust, mida BIT arvab

Kontrollige - kui see on seatud väärtusele Tõene, kontrollib BIT, kas mängijate arvamus on võrdne BIT -i oletusega

GAME_RANGE - see arv piirab, kui kõrget BIT -i või mängija võib arvata

Näide: kui see on seatud kuuele, võivad mõlemad mängijad arvata vahemikus 1 kuni 6

MSG - string, mida muudetakse, et kuvada erinevaid sõnumeid vastavalt mängu kontekstile

PLAYER_SCORE - jälgib mängija kogutud punkte

playerGuess - sellesse muutujale salvestatakse mängija arvatud arv

MÄRGE

Kõige esimene muutuja nimega üksus on üldine ja vaikemuutuja ning seda saab ignoreerida

4. samm: funktsioonid

Funktsioonid
Funktsioonid

Õppeprotsessi osana ja paremaks korraldamiseks korraldati kood mitmeteks funktsioonideks, mida saab põhiprogrammis kutsuda või välja kutsuda. Nagu muutujad, saab ka funktsioone luua ja neile juurde pääseda, klõpsates vahekaardil Täpsemalt> Funktsioonide programmeerimine.

Siin on funktsioonide lühikirjeldus:

teadaannevõitja - see funktsioon prindib võitnud mängijale adresseeritud võidusõnumi

doChallenge - funktsioon, mida BIT kutsub, et arvata ära arv ja esitada mängijale väljakutse

showBadGuess - kuvab LED -paneelil suure X -iga teate, kui kumbki mängijatest arvab väljaspool lubatud vahemikku

showLose - kutsutakse, kui BIT võidab mängija üle väljakutse

showMessage - esitab sõnumi, mis palub mängijal teatud vahemikus olevat arvu ära arvata

showWin - kutsutakse, kui mängija võidab BIT -i üle äraarvamisringi

Samm: programmi käivitamine ning raputussündmuste ja sündmuste käitlejad

Programmi käivitamine ning raputussündmuste ja sündmuste käitlejad
Programmi käivitamine ning raputussündmuste ja sündmuste käitlejad

"On start" ja "on shake" on sündmuste käitlejad, mida kutsutakse vastavalt "start" ja "shake" sündmuste toimumisel. Nagu plokkide koodist näha, on nende kahe sündmuste töötleja kutsumisel toimuv peaaegu sama, mis:

  • Funktsiooni showMessage () kutsutakse sõnumi kuvamiseks mängu alguses
  • Pärast teate kuvamist on lühike 650 millisekundiline paus
  • Funktsiooni doChallenge () kutsutakse, kus BIT arvab ära arvu ja ootab, kuni inimmängija esitab oletuse

Järgmises etapis käsitleme kahte funktsiooni.

Sellegipoolest on sündmuste käivitaja ja raputamise vahel olulisi erinevusi:

  1. Sündmuste käitleja "käivitamisel" töötab iga kord, kui BIT käivitatakse - nagu BIT -i toite lahti- ja uuestiühendamisel.
  2. Teatud asjad, mis peavad programmi käivitamisel toimuma ainult üks kord, on määratletud käivitamisel ja mitte kusagil mujal kogu programmis
  3. Üks selline asi on muutuja GAME_RANGE initsialiseerimine - antud juhul on see initsialiseeritud kuueks, mis tähendab, et mängijad võivad arvata arvu vahemikus 1 kuni 6
  4. Kuna käivitamisel on BIT -i põhifunktsioon, pole ime, et sellele pääseb juurde plokkide redaktori vahekaardilt Basic programmeerimine
  5. Seevastu "raputamisel" on sündmuste käitleja, millele helistatakse iga kord, kui kasutaja annab BIT -ile kiire raputamise kujul sisendi
  6. Seetõttu võib sündmuste käitleja "raputada" leida plokkide redaktori vahekaardilt Sisendprogrammeerimine

6. samm: käivitussõnumi ja väljakutse funktsioonid

Käivitussõnumi ja väljakutse funktsioonid
Käivitussõnumi ja väljakutse funktsioonid
Käivitussõnumi ja väljakutse funktsioonid
Käivitussõnumi ja väljakutse funktsioonid
Käivitussõnumi ja väljakutse funktsioonid
Käivitussõnumi ja väljakutse funktsioonid

ShowMessage () käivitussõnumi funktsioon on lihtne funktsioon, mis kustutab BIT -ide LED -paleti selge ekraani käsuga ja kuvab keriva teate, mis kutsub mängijat numbrit ära arvama.

Nagu nähtub funktsiooniplokist showMessage, lisatakse GAME_RANGE muutujale paar fikseeritud stringi, et kuvada lihtne teade, mis ütleb:

Arva 0 - 6!

Funktsiooni doChallenge () kutsutakse iga väljakutsevooru alguses ja seetõttu teeb see doChallenge'i funktsiooniplokist vaadatuna järgmist:

  1. Vormistab muutuja playerGuess nulliks, enne kui võtab vastu uue sisendi inimese mängijalt
  2. Initsialiseerib muutuja CHECK väärtusele vale - see tähendab, et voor on kohe algamas ja pole veel aeg võrrelda mõlema mängija arvatavaid numbreid
  3. Järgmine ja kõige olulisem on see, et BIT valib juhusliku numbri vahemikus GAME_RANGE ja salvestab selle muutuja bitGuessed
  4. Lõpuks süttib LED -palett küsimärgi sümboliga, mis palub inimmängijal sisestada vastuseks BIT -ide väljakutsele!

Märge

Kui GAME_RANGE muutuja väärtust muudetakse, nagu eelmises etapis arutatud, võib teie mäng välja näha ja toimida pisut teisiti.

Liitmisfunktsioon on stringifunktsioon ja sellele pääseb juurde plokkide redaktori vahekaardil Teksti programmeerimine

Samm 7: nupule klõpsamise sündmus - vastake BIT -ide väljakutsele

Nupp -klõps sündmus - vastake BIT -ide väljakutsele!
Nupp -klõps sündmus - vastake BIT -ide väljakutsele!

Kui suur küsimärk ilmub BIT -de LED -ekraanile, tuleb inimmängija väljakutsele vastata lihtsalt järgmiselt.

  1. Arvake ära, millist numbrit võib BIT mõelda vahemikus 0 kuni 6
  2. Vajutage nuppu A nii mitu korda, kui vastate - näide, kui teie vastus on 3, siis vajutage nuppu 3 korda

Ilmselgelt on nupu vajutamine kasutaja sisend ja seetõttu on nuppude sisselülitamise käitleja juurdepääsetav plokkide redaktori vahekaardi Sisendprogrammeerimine kaudu. Iga kord, kui kasutaja vajutab nuppu A, teeb see sündmuste käitleja järgmist.

  • Muutuja playerGuess väärtuse suurendamine 1 võrra, kui see on GAME_RANGE piires (antud juhul 6)
  • Kui mängija esitab seitse või rohkem, lükatakse oletus kehtetuks ja playerGuess lähtestatakse tagasi nulliks, muutes mängijate oletuse sisuliselt kehtetuks

Järgmine toiming on väljakutsele vastuse esitamine, mille me järgmises etapis läbi vaatame.

8. samm: nupu B klõpsamisüritus - saatke vastus BIT -ide väljakutsele

Nupu B klõpsamisüritus - esitage vastus BIT -ide väljakutsele!
Nupu B klõpsamisüritus - esitage vastus BIT -ide väljakutsele!
Nupu B klõpsamisüritus - esitage vastus BIT -ide väljakutsele!
Nupu B klõpsamisüritus - esitage vastus BIT -ide väljakutsele!

Inimene esitab BIT -le vastuse, vajutades üks kord nuppu B. Nupul B klõpsamise sündmuste käitlejal tehakse mitu sammu niipea, kui BIT saab mängijate vastuse, nagu on näidatud pildil olevate koodimärkidega:

  1. Lipp CHECK on seatud tõele - signaal BIT -ile, et võrrelda oma oletust mängijate omaga
  2. Skoorimine jätkub ainult siis, kui mõlemad mängijad on arvanud nullist suuremad numbrid ja on GAME_RANGE piires (6 -st) ning kui ei, siis kutsutakse esile showBadGuess () funktsioon - hea oletusmängija võidab punkti ja halb arvaja kaotab ühe!
  3. Kui mängijad arvavad, et need sobivad BIT -idega, kutsutakse üles showWin () funktsioon - mängija võidab selle vooru!
  4. Kui ei, siis nimetatakse funktsiooni showLose () - BIT võidab selle vooru!
  5. Funktsioon ilmoitusWinner () kontrollib iga vooru lõpus, kas üks mängijatest on võitnud 3 punkti kogudes - kui jah, siis mäng lõpetatakse ja kuulutatakse välja lõplik võitja ning kõik tulemused ja sõnumid on lähtestada
  6. BIT taaskäivitab mängu, esitades väljakutse, kutsudes üles funktsiooni doChallenge (), ja ootab, kuni mängija vastab ja protsess kordub

Järgmistes etappides arutame uusi funktsioone.

Oota! Kuidas sa arvad NULLI?

  • Kui vaatate juhuslikku () matemaatikafunktsiooni, näete, et selle algväärtus on null ja seda ei saa muuta.
  • Seetõttu võib BIT vabalt arvata nulli ja selle piirangu tõttu mängijale väljakutse esitada
  • Samamoodi saab inimmängija esitada nullarvamise, klõpsates lihtsalt nupul B, ilma nupul A klõpsamata!
  • Kui see on lubatud, ei pea inimmängija mängimiseks pingutama ja sellel pole mõtet!
  • Seetõttu on selle piirangu kompenseerinud Bullet #2. eespool käsitletud

Samm: võit/kaotus ja ülejäänud funktsioonid

Võit/kaotus ja ülejäänud funktsioonid
Võit/kaotus ja ülejäänud funktsioonid
Võit/kaotus ja ülejäänud funktsioonid
Võit/kaotus ja ülejäänud funktsioonid
Võit/kaotus ja ülejäänud funktsioonid
Võit/kaotus ja ülejäänud funktsioonid

Kõiki neid funktsioone kutsub nupp B "kliki" sündmuste käitleja, nagu on näha eelmises etapis.

Need funktsioonid on üsna lihtsad ja selleks ajaks peaksite olema tuttav koodi intuitiivse ja jutustava olemusega, mis on loodud tabavalt nimetatud muutujate ja plokkide redaktori visuaalsete atribuutide kombinatsiooni abil.

  1. Funktsioon showWin () kuvab teate, mis näitab, et mängija on selle väljakutseringi võitnud ja suurendab PLAYER_SCORE muutujat 1 võrra
  2. Sarnaselt näitab funktsioon showLose (), et mängija tegi vale arvaja ja annab punkti BIT -le, suurendades muutujat BIT_SCORE 1 võrra
  3. Funktsioon showBadGuess () kuvab ekraanil suure X, mis näitab, et üks mängijatest tegi halva oletuse (kas 0 või suurem kui 6) - halb mängija kaotab sel juhul punkti ja teine saab punkti!

Ja lõpuks täidab kuulutusvõitja () ülesanne teatada, kes on peavõitja, pärast kolme väljakutse/vastuse vooru, millele järgneb:

  • PLAYER_SCORE ja BIT_SCORE skoori muutujate lähtestamine
  • Lühiajaline peatamine ja uue mängu alustamine, helistades käesoleva IBLE eelmises etapis (6) käsitletud käivitusfunktsiooni showMessage ()

Lõpuks edasi simulaatori ja koodi juurde!

10. samm: simulaator ja kood

Simulaator ja kood
Simulaator ja kood

Kood töötab siin asuvas veebisimulaatoris

  • Simulaator asub lehe vasakus alanurgas
  • Teise võimalusena saab koodi allalaadimiseks kasutada nuppu Laadi alla, kui teil on käepärast BBC Microbit
  • Nagu IBLE alguses mainitud, ei vaja te plokkide redigeerijas koodi koostamiseks ega koodi simuleerimiseks ja testimiseks BBC mikrobit, kuigi see ei tööta uudishimulike isikute, nagu mina, puhul!

Märkus muutmisnupu kohta

  • Kui olete märganud, on kood üldkasutatav ja paremal ülanurgas asuva nupu Redigeerimine abil saate seda muuta
  • Siiski palun siiralt, et te teeksite sellest koodist koopia ja muudaksite seda vastavalt oma vajadustele, et selle IBLE huvides säiliks algne versioon

Tänan! Ja head kodeerimist !!!:-)

Soovitan: