INHOUDSOPGAWE:

Geheue -raaiselspel met behulp van 'n BBC MicroBit: 7 stappe
Geheue -raaiselspel met behulp van 'n BBC MicroBit: 7 stappe

Video: Geheue -raaiselspel met behulp van 'n BBC MicroBit: 7 stappe

Video: Geheue -raaiselspel met behulp van 'n BBC MicroBit: 7 stappe
Video: Micro:bit - Een stappenteller maken met behulp van Variabelen! 2024, Julie
Anonim
Image
Image

As u nie weet wat 'n BBC MicroBit is nie, is dit eintlik 'n baie klein toestel wat u kan programmeer om insette en uitsette te hê. Soort soos 'n Arduino, maar meer ingewikkeld.

Wat ek regtig van die MicroBit gehou het, was dat dit twee ingeboude invoerknoppies en 'n 5 x 5 led -matriks het!

Dus, het ek gedink, waarom nie 'n eenvoudige, maar moeilik om te speel geheue puzzelspel te skep nie!

ps: As u nie wil kodeer nie, sal ek die.hex -lêer aanheg om direk na die MicroBit op te laai.

Voorrade

Al wat jy nodig het is

1) BBC MicroBit

2) Skootrekenaar of rekenaar om die Microbit te programmeer

3) 'n bietjie geduld!

Stap 1: Skep 'n projek met die aanlyn blokgebaseerde koderingsplatform, Makecode

Gaan na https://makecode.microbit.org/ en skep 'n nuwe projek. Dit is waar ons die kode vir ons spel sal skep.

Hier is my aangehegte kode:

Stap 2: Wat is die spel?

Dink hieraan as 'n twee -knoppie Simon Says -spel.

Die skerm toon 'n reeks kombinasies van A en B, en die speler moet die volgorde memoriseer en dit dan invoer met die A- en B -knoppie op die MicroBit.

Om die spel geleidelik moeiliker te maak, verhoog ons die aantal letters met elke ronde met 2 en verminder ook die tyd wat elke letter op die skerm bly.

Kom ons gaan!

Stap 3: Dit is KODERINGSTYD !

Wel, nie heeltemal nie. Aangesien die makercode -webwerf regtig beginnersvriendelik is en iets het wat blokkodering genoem word. Hier neem ons net blokke en kombineer met meer blokke! Wonderlik, reg!

Eerstens moet ons verstaan waarvoor ons moet kodeer.

In die beginblokke voeg ons die globale veranderlikes by en verander die helderheid indien nodig.

"vlak" = 1, "Vertraging" = 500, "set.score" = 0.

Ons sal die tellingfunksie gebruik om die telling by te hou.

In ons spel is die eerste stap om 'n ewekansige letter te kies: A of B.

Ons kan dit doen deur eers lukraak tussen 1 en 2 te kies en dan A op 1 en B op 2 toe te ken en in 'n veranderlike "AB" op te slaan.

Voila!

nou, vir elke keer as ons A of B kies, sal ons dit op die skerm vertoon vir 'n tydperk van "Vertraging" ms.

dit is in 'n veranderlike volgens vlak, ons sal die "Vertraging" met 50 ms verminder tot dit 50 ms is, deur die vlak 1 met 500 ms te begin.

Stap 4: Herhaal dit vir elke vlak met toename van twee letters

Ons bereik dit deur die blok "Lengte" te herhaal

Lengte = 2 + (vlak - 1) x 2.

Wat dit doen, is as ons vlak = 1 aan die begin van die lus het, en ons die vlak met 1 verhoog, word ons lengte per vlak 2, 4, 6, 8 ensovoorts.

Nadat ons 'n brief gegenereer het, wil ons dit ook stoor. Dus stel ons 'n blanl string "Vraag" as "Vraag" + "AB"

Dit gee ons die hele string wat ons letter vir letter gegenereer het.

Ons het ook 'n aanduiding nodig om te sien of hierdie lus beëindig is of nie, sodat ons die antwoord van die speler kan kry. Ons doen dit deur 'n veranderlike met die naam 'kond' in die begin as 0 in te stel en dit dan na 1 te verander namate die lus eindig. eenvoudig!

ons moet ook 'n onderbrekingstoestand by die lus voeg. As die spel verby is, moet ons dit uit die lus breek en nie meer letters genereer nie.

Ons plaas dit alles in 'n funksie genaamd "Genereer", voeg 'n beginbeeld by, gooi 'n prent daar in, voeg 'n? op die ou end, en boem!

Stap 5: kry die antwoord

As die gebruiker op A of B druk, moet ons die inligting stoor en 'n string "Antwoord" maak sodat ons dit kan vergelyk met die "Vraag".

Ons doen dit slegs deur die invoer te kry wanneer "cond" = 1 voorkom dat die speler die antwoord kan invoer terwyl die "Vraag" vertoon word.

Ons kombineer dan die invoer in 'n string en stoor dit as 'Antwoord'.

Komende?

Stap 6: Kontroleer die antwoord

Nou vergelyk ons net die 'vraag' wat ons gegenereer het met die 'antwoord' wat die speler gegee het.

As hulle ooreenstem, gaan ons na die volgende vlak, anders …. SPEL OOR !!!

En ons wys die telling aan die einde.

Dit sal ons ook in 'n funksie met die naam "Check" hou, wat genoem word as "cond" = 1 wanneer u 'n invoer kry, anders …. GAME OVER!

Stap 7: Klaar

Al wat ons hoef te doen is om die kode na die MicroBit op te laai en dan almal wat u ken te toets!

Aanbeveel: