Sisukord:

Mälu puzzle mäng BBC MicroBiti abil: 7 sammu
Mälu puzzle mäng BBC MicroBiti abil: 7 sammu

Video: Mälu puzzle mäng BBC MicroBiti abil: 7 sammu

Video: Mälu puzzle mäng BBC MicroBiti abil: 7 sammu
Video: Нельзя просто так взять и чилить ► 1 Прохождение Resident Evil Village 2024, November
Anonim
Image
Image

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!

Soovitan: