Sisukord:
- Samm: enne alustamist…
- 2. samm: Guessing Game reeglid
- 3. samm: plokkide programm: muutujad
- 4. samm: funktsioonid
- Samm: programmi käivitamine ning raputussündmuste ja sündmuste käitlejad
- 6. samm: käivitussõnumi ja väljakutse funktsioonid
- Samm 7: nupule klõpsamise sündmus - vastake BIT -ide väljakutsele
- 8. samm: nupu B klõpsamisüritus - saatke vastus BIT -ide väljakutsele
- Samm: võit/kaotus ja ülejäänud funktsioonid
- 10. samm: simulaator ja kood
Video: Mida natuke mõtleb? Tehke lihtne arvamismäng BBC mikrobitiga !: 10 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
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…
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
Mängureeglid on järgmised:
- Sisselülitamisel mõtleb BIT numbrile ja kutsub inimmängijat arvama, mis see number on, printides oma LED -paneelile teate ja ootab vastust
- 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
- BIT -ile vastuse esitamiseks vajutab mängija üks kord paremat vajutusnuppu (B)!
- Kui mängijad arvavad, et see on õige, saab mängija punkti, kui mitte BIT, saab punkti
- 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
- 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
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
Õ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
"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:
- Sündmuste käitleja "käivitamisel" töötab iga kord, kui BIT käivitatakse - nagu BIT -i toite lahti- ja uuestiühendamisel.
- Teatud asjad, mis peavad programmi käivitamisel toimuma ainult üks kord, on määratletud käivitamisel ja mitte kusagil mujal kogu programmis
- Ü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
- Kuna käivitamisel on BIT -i põhifunktsioon, pole ime, et sellele pääseb juurde plokkide redaktori vahekaardilt Basic programmeerimine
- Seevastu "raputamisel" on sündmuste käitleja, millele helistatakse iga kord, kui kasutaja annab BIT -ile kiire raputamise kujul sisendi
- Seetõttu võib sündmuste käitleja "raputada" leida plokkide redaktori vahekaardilt Sisendprogrammeerimine
6. samm: 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:
- Vormistab muutuja playerGuess nulliks, enne kui võtab vastu uue sisendi inimese mängijalt
- 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
- Järgmine ja kõige olulisem on see, et BIT valib juhusliku numbri vahemikus GAME_RANGE ja salvestab selle muutuja bitGuessed
- 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
Kui suur küsimärk ilmub BIT -de LED -ekraanile, tuleb inimmängija väljakutsele vastata lihtsalt järgmiselt.
- Arvake ära, millist numbrit võib BIT mõelda vahemikus 0 kuni 6
- 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
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:
- Lipp CHECK on seatud tõele - signaal BIT -ile, et võrrelda oma oletust mängijate omaga
- 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!
- Kui mängijad arvavad, et need sobivad BIT -idega, kutsutakse üles showWin () funktsioon - mängija võidab selle vooru!
- Kui ei, siis nimetatakse funktsiooni showLose () - BIT võidab selle vooru!
- 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
- 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
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.
- Funktsioon showWin () kuvab teate, mis näitab, et mängija on selle väljakutseringi võitnud ja suurendab PLAYER_SCORE muutujat 1 võrra
- Sarnaselt näitab funktsioon showLose (), et mängija tegi vale arvaja ja annab punkti BIT -le, suurendades muutujat BIT_SCORE 1 võrra
- 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
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:
Lihtne arvamismäng - Python + XBees + Arduino: 10 sammu
Lihtne arvamismäng - Python + XBees + Arduino: Mäng töötab järgmiselt. Teil on 4 katset ära arvata täht a -h -h vahel - > Arva õige täht: võidad! ?-> Arva ära vale täht: Mäng läbi?-> Arvake mõni muu tegelane väljaspool tähte „a” - „h”: mäng on läbi? Teie Arduino võimaldab teil
Lihtne Pythoni arvamismäng: 11 sammu
Lihtne Pythoni numbrite arvamismäng: selles õpetuses õpetame, kuidas Pycharmi rakenduses luua lihtsat Pythoni numbrite äraarvamismängu. Python on skriptikeel, mis sobib suurepäraselt nii algajatele kui ka asjatundjatele. Pythoni kodeerimisstiili on lihtne lugeda ja järgida
Lõbus mikro: natuke robot - lihtne ja odav !: 17 sammu (koos piltidega)
Fun Micro: bit Robot - LIHTNE ja odav !: BBC micro: bitid on suurepärased! Neid on lihtne programmeerida, need on täis selliseid funktsioone nagu Bluetooth ja kiirendusmõõtur ning need on odavad. Kas poleks tore, kui saaksime ehitada robotauto, mis maksab MITTE MIDAGI? See projekt on inspireeritud
Tehke koos lahe mikro: natuke hõljukit: 6 sammu (koos piltidega)
Tehke koos lahe mikro: natuke hõljukit: Enamasti saavad meie valmistatud autod sõita ainult maapinnal. Täna kavatseme luua hõljuki, mis töötab nii vees kui ka maa peal või isegi õhus. Hovercraf'i toetamiseks kasutame kahe mootori all õhku puhumiseks
Kuidas teha loendurit mikrobitiga?: 9 sammu
Kuidas teha loendurit mikrobitiga ?: Kui oleme lennukisse istunud, puutume sageli kokku sellise olukorraga: ilus stjuardess, kes kannab väikest hõbedast kasti, hoiab seda möödasõidul. Ta nuriseb: 1,2,3,4,5,6 …… Peate seda arvama-ta loeb kokku