Sadržaj:

Memorijska zagonetka pomoću BBC MicroBita: 7 koraka
Memorijska zagonetka pomoću BBC MicroBita: 7 koraka

Video: Memorijska zagonetka pomoću BBC MicroBita: 7 koraka

Video: Memorijska zagonetka pomoću BBC MicroBita: 7 koraka
Video: CS50 2013 - Week 10 2024, Lipanj
Anonim
Image
Image

Ako ne znate što je BBC MicroBit, to je u osnovi zaista mali uređaj koji možete programirati tako da ima ulaze i izlaze. Kindof poput Arduina, ali više razrađen.

Ono što mi se jako svidjelo kod MicroBita je to što ima dvije ugrađene tipke za unos i 5 x 5 LED matricu!

Pa sam pomislio, zašto ne stvoriti jednostavnu za izradu, ali teško igrati memorijsku zagonetku!

ps: Ako ne želite kodirati, priložit ću.hex datoteku za izravno učitavanje na MicroBit.

Pribor

Sve što trebaš je

1) BBC MicroBit

2) Prijenosno računalo ili računalo za programiranje Microbita

3) Malo strpljenja!

Korak 1: Izradite projekt pomoću internetske platforme za kodiranje na bazi bloka, Makecode

Idite na https://makecode.microbit.org/ i izradite novi projekt. Ovdje ćemo stvarati kôd za našu igru.

Evo mog koda u prilogu:

Korak 2: Koja je igra?

Pa, zamislite ovo kao igru Simon Says s dva gumba.

Na ekranu će se prikazati niz kombinacija A i B, a igrač mora zapamtiti slijed i zatim ga unijeti pomoću tipki A i B na MicroBitu.

Kako bismo igru sve više otežavali, povećat ćemo broj slova za 2 u svakom krugu, a također ćemo smanjiti vrijeme zadržavanja svakog slova na ekranu.

Idemo!

Korak 3: VRIJEME JE KODIRANJA !

Pa, ne baš. Kako je web mjesto makercode zaista prilagođeno početnicima i ima nešto što se zove blok kodiranje. Ovdje samo uzimamo blokove i kombiniramo s više blokova! Nevjerojatno, UREDNO!

Pa prvo moramo razumjeti za što moramo kodirati.

U početne blokove dodat ćemo globalne varijable i po potrebi promijeniti svjetlinu.

"level" = 1, "Delay" = 500, "set.score" = 0.

Za praćenje rezultata koristit ćemo funkcionalnost bodova.

U našoj igri prvi korak je odabir slučajnog slova: A ili B.

To možemo učiniti tako da prvo nasumično odaberemo između 1 i 2, a zatim dodijelimo A na 1 i B na 2 i pohranimo ih u varijablu "AB".

Voila!

sada, svaki put kad odaberemo A ili B, prikazat ćemo ga na ekranu u razdoblju odgode ms.

ovo je u varijabli prema razini, smanjit ćemo "Kašnjenje" za 50 ms, sve dok ne bude 50 ms, pokretanjem razine 1 s 500 ms.

Korak 4: Ponovite ovo za svaku razinu s povećanjem od dva slova

To postižemo ponavljanjem bloka "Duljina" koliko puta gdje

Duljina = 2 + (razina - 1) x 2.

To se događa ako imamo razinu = 1 na početku petlje i povećamo razinu za 1, naša duljina po razini postaje 2, 4, 6, 8 itd.

Sada, nakon što generiramo pismo, želimo ga i pohraniti. Dakle, postavili smo blanl niz "Pitanje" kao "Pitanje" + "AB"

To će nam dati cijeli niz koji smo generirali slovo po slovo.

također nam je potrebna neka vrsta indikacije da vidimo je li ova petlja završila ili ne kako bismo mogli dobiti odgovor od igrača. to činimo postavljanjem varijable pod nazivom "cond" na početku kao 0, a zatim je mijenjamo na 1 po završetku petlje. jednostavan!

petlji moramo dodati i uvjet prekida. Ako je igra gotova, onda nam je potrebna da se izvuče iz petlje i ne generira više slova.

Sve ćemo to staviti u funkciju pod nazivom "Generiraj", dodati početnu sliku, tamo ubaciti sliku, dodati znak? na kraju, i bum!

Korak 5: Dobijte odgovor

Kad korisnik pritisne A ili B, moramo pohraniti te podatke i napraviti niz "Odgovor" kako bismo ih mogli usporediti s "Pitanjem".

To činimo tako da unosimo samo kada je "cond" = 1 kako bismo spriječili igrača da unese odgovor dok se prikazuje "Pitanje".

Zatim spojimo ulaz u niz i spremimo ga kao "Odgovor".

Comprende?

Korak 6: Provjera odgovora

Sada samo uspoređujemo "pitanje" koje smo generirali s "odgovorom" koji je dao igrač.

Ako se podudaraju, idemo na sljedeću razinu, inače …. IGRA JE GOTOVA !!!

I prikazujemo rezultat na kraju.

Ovo ćemo također zadržati u funkciji pod nazivom "Check" koja će se pozivati ako je "cond" = 1 prilikom primanja unosa, inače …. GAME OVER!

Korak 7: Gotovo

Sve što trebamo učiniti je prenijeti kôd na MicroBit, a zatim testirati sve koje poznajete!

Preporučeni: