Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Kui te ei tea, mis on BBC MicroBit, on see põhimõtteliselt tõesti väike seade, mille saate programmeerida sisendite ja väljundite saamiseks. Veidi nagu Arduino, kuid rohkem välja töötatud.
Mis mulle MicroBiti juures väga meeldis, oli see, et sellel on kaks sisseehitatud sisestusnuppu ja 5 x 5 led -maatriks!
Niisiis, mõtlesin, miks mitte luua lihtsalt valmistatav, kuid raskesti mängitav mälumäng!
ps: Kui te ei soovi kodeerida, siis lisan.hex -faili, et see otse MicroBiti üles laadida.
Tarvikud
Kõik, mida vajate, on
1) BBC MicroBit
2) Sülearvuti või arvuti Microbiti programmeerimiseks
3) natuke kannatust!
Samm: looge projekt, kasutades veebipõhist plokipõhist kodeerimisplatvormi Makecode
Minge aadressile https://makecode.microbit.org/ ja looge uus projekt. Siin loome oma mängu koodi.
Siin on minu lisatud kood:
Samm: mis on mäng?
Mõelge sellele kui kahe nupuga Simon Says mängule.
Ekraanil kuvatakse rida kombinatsioone A ja B ning mängija peab jada meelde jätma ning seejärel selle MicroBiti nuppude A ja B abil sisestama.
Mängu järk -järgult raskendamiseks suurendame iga vooru tähtede arvu 2 võrra ja vähendame ka iga tähe ekraanile jäämise aega.
Lähme!
3. samm: KOODIMISE AEG !
No mitte päris. Kuna makercode'i veebisait on tõesti algajatele sõbralik ja sellel on midagi, mida nimetatakse plokkide kodeerimiseks. Siin võtame lihtsalt plokid ja kombineerime rohkemate plokkidega! Hämmastav, RIght!
Kõigepealt peame mõistma, mida me peame kodeerima.
Stardiplokkidesse lisame globaalsed muutujad ja vajadusel muudame heledust.
"tase" = 1, "viivitus" = 500, "set.score" = 0.
Skoori jälgimiseks kasutame skoori funktsionaalsust.
Meie mängus on esimene samm valida juhuslik täht: A või B.
Me saame seda teha, valides esmalt juhuslikult 1 ja 2 vahel ning seejärel määrates A -le 1 ja B -le 2 ning salvestades muutuja "AB".
Voila!
nüüd, iga kord, kui valime A või B, kuvame selle ekraanil ajavahemiku "Delay" ms.
see on muutuja vastavalt tasemele, vähendame viivitust 50 ms, kuni see on 50 ms, alustades 1. taset 500 ms -ga.
Samm: korrake seda igal tasemel kahe tähe võrra
Selle saavutame, korrates ploki "Pikkus" mitu korda
Pikkus = 2 + (tase - 1) x 2.
See tähendab, et kui meil on tsükli alguses tase = 1 ja tõstame taset 1 võrra, muutub meie pikkus taseme kohta 2, 4, 6, 8 jne.
Nüüd, kui oleme kirja loonud, tahame ka selle salvestada. Niisiis seadsime tühja stringi "Küsimus" kui "Küsimus" + "AB"
See annab meile tähehaaval kogu stringi, mille oleme loonud.
vajame ka mingit märget, et näha, kas see tsükkel on lõppenud või mitte, et saaksime mängijalt vastuse saada. me teeme selle, seadistades muutuja nimega "cond" alguses väärtuseks 0 ja muutes seejärel tsükli lõppedes väärtuseks 1. lihtne!
peame ka silmusesse lisama katkestustingimuse. Kui mäng on läbi, siis vajame seda silmusest välja murdmiseks ja mitte rohkemate tähtede genereerimiseks.
Me paneme selle kõik funktsiooni nimega "Loo", lisame mõne algpildi, viskame sinna pildi, lisame? lõpuks ja buum!
Samm: saate vastuse
Kui kasutaja vajutab nuppu A või B, peame selle teabe salvestama ja tegema stringi "Vastus", et saaksime seda võrrelda küsimusega.
Me teeme seda, saades sisendi ainult siis, kui "cond" = 1, et takistada mängija vastuse sisestamist küsimuse kuvamisel.
Seejärel ühendame sisendi stringiks, salvestades selle vastuseks.
Nõustuda?
6. samm: vastuse kontrollimine
Nüüd võrdleme lihtsalt loodud küsimust mängija vastusega.
Kui need sobivad, läheme järgmisele tasemele, muidu…. MÄNG LÕPPENUD !!!
Ja lõpus kuvame skoori.
Seda hoiame ka funktsioonis nimega "Kontrolli", mida kutsutakse, kui "cond" = 1 sisendi saamisel, muidu…. GAME OVER!
7. samm: valmis
Nüüd peame ainult koodi MicroBiti üles laadima ja seejärel kõiki tuttavaid testima!