Innehållsförteckning:
- Steg 1: Innan du börjar …
- Steg 2: Regler för gissningsspelet
- Steg 3: Blockprogrammet: variabler
- Steg 4: Funktionerna
- Steg 5: Programstart och Shake Events & Event Handlers
- Steg 6: Startmeddelande och utmaningsfunktioner
- Steg 7: Button a Click -händelsen - svara på BITs -utmaningen
- Steg 8: Button B Click Event - Skicka svar på BITs Challenge
- Steg 9: Vinn/förlora och resten av funktionerna
- Steg 10: Simulatorn och kod
Video: Vad tänker bitarna på? Gör ett enkelt gissningsspel med BBC Microbit !: 10 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Jag tog upp ett par BBC Microbits efter att ha läst positiva recensioner om dem i flera artiklar online.
I ett försök att bekanta mig med BIT lekte jag med Microsoft Blocks Editor online i ett par timmar och kom på ett enkelt gissningsspel.
I denna IBLE kommer vi att prata om spelreglerna och navigera genom de funktioner som samlats i olika kodblock i Block Editor.
Slutligen kan upphetsad publik navigera till onlinesimulatorn och ge detta enkla spel ett skott.
Låt oss börja.
Steg 1: Innan du börjar …
Hårdvaran
BBC Microbit -kortet är lätt att bekanta sig med. För denna IBLE behöver du bara veta att det är ett litet kort med 2 tryckknappar, en rad små lysdioder och ett mikro-USB-uttag som fungerar som strömförsörjning och ett sätt att ladda ett program på kortet..
Mängden små lysdioder kan programmeras för att lysa upp i olika mönster.
Notera:
Du behöver inte den fysiska brädan för denna IBLE! BBC Microbit -webbplatsen har en online -simulator för att testa koden du utvecklar online.
Mjukvaran
Denna IBLE går inte in på detaljer om att komma igång med BBC Microbit och/eller Online Blocks Editor.
Publiken uppmuntras att utforska denna BBC Micorbit -resurs innan de fortsätter till nästa steg.
BBC Microbit har utformats för att lära ut programmering med ett mycket användarvänligt tillvägagångssätt och därför är bekantskap med ett annat programmeringsspråk trevligt att ha, men krävs inte särskilt om du ska använda Microsoft Blocks Editor för att lära dig programmering.
Ändå har jag ännu inte stött på en produkt som är så lätt att komma igång med än BBC Microbit, med tanke på att jag äger och spelar med flera andra programmeringsplattformar för mikrokontroller.
Steg 2: Regler för gissningsspelet
Spelreglerna är följande:
- Vid uppstart tänker BIT på ett nummer och utmanar den mänskliga spelaren att gissa vad det är genom att skriva ut ett meddelande på dess LED -panel och väntar på svar
- Spelaren gör en gissning och trycker på vänster tryckknapp (A) lika många gånger som svaret - Exempel, om spelaren gissat 5, trycks knappen 5 gånger
- För att skicka svaret till BIT trycker spelaren på den högra tryckknappen (B) en gång!
- Om spelarna gissar är rätt, gör spelaren en poäng, om inte BIT får en poäng
- Om en spelare gissade ett nummer utanför intervallet, gör den andra spelaren en poäng - BIT visar ett stort X på sin LED -display och fortsätter att gissa ett nytt nummer och upprepa utmaningen; Exempel: Om BIT utmanade dig att gissa ett tal mellan 1 och 5, och du gissade 6, eller om du gissade NOLL (genom att helt enkelt trycka på knapp B innan du tryckte på knapp A), är den omgången ogiltig
- Utmaningssvaret fortsätter tills en av spelarna får de högsta tillåtna poängen
Starta ett nytt spel:
För att starta ett nytt spel när som helst, helt enkelt ge BIT en skaka! Eller helt enkelt koppla bort och anslut strömmen igen.
Steg 3: Blockprogrammet: variabler
Programmet använder några variabler som namnges för att matcha deras funktioner som anges nedan. Dessa variabler kan skapas genom att klicka på fliken Programmering av variabler i blockredigeraren
BIT_SCORE - Håller koll på poängen som BIT har gjort
bitGuessed - Denna variabel innehåller det slumpmässiga värdet som BIT gissar
CHECK - när den är inställd på True kontrollerar BIT om spelarnas gissning är lika med BIT -gissningen
GAME_RANGE - Detta nummer begränsar hur högt BIT eller en spelare kan gissa
Exempel: Om den är inställd på 6 kan båda spelarna gissa från 1 till 6
MSG - En sträng som ändras för att visa olika meddelanden baserat på spelets sammanhang
PLAYER_SCORE - håller reda på poängen som spelaren har gjort
playerGuess - Antalet gissat av spelaren spelas in i denna variabel
NOTERA
Den allra första variabeln som heter objekt är en allmän och standardvariabel och kan ignoreras
Steg 4: Funktionerna
Som en del av inlärningsprocessen och för bättre organisation organiserades koden i ett antal funktioner som kan kallas eller åberopas i huvudprogrammet. Precis som variabler kan funktionerna skapas och nås genom att klicka på fliken Avancerat> Funktionsprogrammering.
Nedan följer en kort beskrivning av funktionerna:
announceWinner - Denna funktion skriver ut det vinnande meddelandet till den vinnande spelaren
doChallenge - Funktionen som BIT kallar för att gissa ett tal och utmana spelaren
showBadGuess - Visar ett meddelande med ett stort X på LED -panelen om någon av spelarna gissar utanför det tillåtna intervallet
showLose - kallas om BIT vinner en utmaningsrunda över spelaren
showMessage - presenterar ett meddelande för att utmana spelaren att gissa ett tal inom ett angivet intervall
showWin - kallas till när spelaren vinner gissningsrundan över BIT
Steg 5: Programstart och Shake Events & Event Handlers
"På start" och "på skaka" är händelsehanterare som kallas respektive när "start" händelse och "skaka" händelser inträffar. Såsom framgår av Blocks -koden är det som händer när dessa två händelsehanterare anropas nästan detsamma som i:
- ShowMessage () -funktionen kallas för att visa meddelandet när spelet börjar
- Det är en kort paus på 650 milli-sekunder efter att meddelandet visas
- DoChallenge () -funktionen kallas där BIT gissar ett tal och väntar på att den mänskliga spelaren skickar in en gissning
Vi kommer att täcka de två funktionerna i nästa steg.
Som sagt, det finns grundläggande skillnader mellan händelserna "vid start" och "på skaka":
- Händelsehanteraren "vid start" körs varje gång BIT startas - som vid bortkoppling och återanslutning av ström till BIT
- Vissa saker som bara måste hända en gång när programmet startas definieras i "på start" och ingen annanstans i hela programmet
- En sådan sak är att initialisera variabeln GAME_RANGE - i det här fallet initialiseras den till 6 vilket innebär att spelarna kan gissa ett tal mellan 1 och 6
- Eftersom "vid start" är en grundläggande BIT -funktion är det inte konstigt att den är tillgänglig från fliken Basic programmering i Block Editor
- "On shake" är å andra sidan en händelsehanterare som anropas när användaren ger en input till BIT i form av en snabb shake
- Därför kan händelsehanteraren "on shake" hittas på fliken Inmatningsprogrammering i Block Editor
Steg 6: Startmeddelande och utmaningsfunktioner
ShowMessage () Startmeddelandefunktionen är en enkel funktion som rensar BITs LED -paletten med ett tydligt skärmkommando och visar ett rullande meddelande som utmanar spelaren att gissa ett tal.
Som framgår av funktionsblocket showMessage, läggs ett par fasta strängar ihop till variabeln GAME_RANGE för att visa ett enkelt meddelande som säger:
Gissa 0 - 6!
DoChallenge () -funktionen anropas i början av varje utmaningsrunda och gör därför följande sett från funktionsblocket doChallenge:
- Initierar playerGuess -variabeln till noll innan den accepterar en ny input från den mänskliga spelaren
- Initierar CHECK -variabeln till falsk - vilket betyder att omgången är på väg att börja och det är inte dags att jämföra de siffror som gissats av båda spelarna
- Därefter, och viktigast, väljer BIT ett slumpmässigt tal inom intervallet som definieras av GAME_RANGE och registrerar det i bitGuessed -variabeln
- Slutligen lyser LED -paletten upp med ett frågetecken som uppmanar den mänskliga spelaren att komma in som svar på BITs -utmaningen!
Notera
Om variabelvärdet GAME_RANGE ändras som diskuterades i föregående steg kan ditt spel se ut och agera lite annorlunda.
Kopplingsfunktionen är en strängfunktion och kan nås från fliken Textprogrammering i blockredigeraren
Steg 7: Button a Click -händelsen - svara på BITs -utmaningen
När det stora frågetecknet dyker upp på BITs LED -skärm är det bara att göra följande för att svara på utmaningen för den mänskliga spelaren:
- Gissa vilket nummer BIT kan tänka mellan 0 och 6
- Tryck på knappen A så många gånger ditt svar är - Exempel om ditt svar är 3, tryck sedan på knapp A 3x gånger
Det är uppenbart att ett tryck på knappen är en användarinmatning och därför är händelsehanteraren "on button" tillgänglig via fliken Inmatningsprogrammering i blockredigeraren. Varje gång användaren trycker på knapp A gör denna händelsehanterare följande:
- Öka värdet på playerGuess -variabeln med 1 så länge det är inom GAME_RANGE -gränsen (6 i det här fallet)
- Om spelaren skickar in 7 eller högre, är gissningen ogiltig och playerGuess återställs till noll, vilket i huvudsak ogiltigförklarar spelarens gissning
Nästa åtgärd är att skicka svaret på utmaningen, som vi kommer att gå igenom i nästa steg.
Steg 8: Button B Click Event - Skicka svar på BITs Challenge
Den mänskliga spelaren skickar svaret till BIT genom att trycka på knapp B en gång. Ett antal steg sker i händelsehanteraren Button B "on click" så snart BIT tar emot spelarnas svar enligt kodmarkörerna i bilden:
- CHECK -flaggan är satt till True - en signal för BIT att jämföra dess gissning med spelarnas
- Poängen fortsätter endast om båda spelarna har gissat siffror som är större än noll och inom GAME_RANGE -gränsen (på 6) och om inte, kallas funktionen showBadGuess () - den gissande spelaren vinner en poäng, och den dåliga gissningen förlorar en!
- Om spelarna gissar matchar BIT: s, kallas showWin () - spelaren vinner denna omgång!
- Om inte, kallas showLose () -funktionen - BIT vinner denna omgång!
- En kontroll utförs i slutet av varje omgång av funktionen announceWinner () för att se om en av de två spelarna har vunnit genom att göra 3 poäng - i så fall är spelet avslutat och den slutliga vinnaren meddelas och alla poäng och meddelanden är återställa
- BIT startar om spelet genom att utfärda en utmaning genom att ringa till funktionen doChallenge () och väntar på att spelaren ska svara och processen upprepas
Vi kommer att diskutera de nya funktionerna i nästa steg.
Vänta! Hur gissar du NOLL?
- Om du tittar på funktionen random () Math kan du se att dess ursprungliga värde är inställt på noll och inte kan ändras.
- BIT är därför fritt att gissa en nolla och utmana spelaren till följd av denna begränsning
- På samma sätt kan den mänskliga spelaren skicka in en nollgissning genom att helt enkelt klicka på knapp B utan att först klicka på knapp A!
- Om detta är tillåtet behöver den mänskliga spelaren inte anstränga sig för att spela och det är ingen mening!
- Därför har denna begränsning kompenserats av Bullet #2. diskuterats ovan
Steg 9: Vinn/förlora och resten av funktionerna
Alla dessa funktioner kallas med knappen B "on click" -händelsehanteraren som sett i föregående steg.
Dessa funktioner är ganska raka framåt och vid den här tiden bör du bekanta dig med kodens intuitiva och berättande karaktär som skapas av en kombination av lämpligt namngivna variabler och blockredigerarens visuella attribut.
- ShowWin () -funktionen visar ett meddelande som indikerar att spelaren har vunnit denna utmaningsrunda och ökar variabeln PLAYER_SCORE med 1
- På samma sätt visar showLose () -funktionen att spelaren gjorde en dålig gissning och tilldelar BIT en poäng genom att öka BIT_SCORE -variabeln med 1
- ShowBadGuess () -funktionen visar ett stort X på skärmen som indikerar att en av spelarna gjorde en dålig gissning (antingen 0 eller större än 6) - den dåliga spelaren förlorar i detta fall en poäng, och den andra gör en poäng!
Och slutligen, funktionen announceWinner () utför uppgiften att tillkännage vem den stora vinnaren är efter 3 omgångar med utmaning/svar följt av:
- Återställer variablerna PLAYER_SCORE och BIT_SCORE
- Pausa kort och starta ett nytt spel genom att ringa startfunktionen showMessage () som diskuterades i föregående steg (6) i denna IBLE
Slutligen vidare till simulatorn och koden!
Steg 10: Simulatorn och kod
Koden körs i onlinesimulatorn som finns här
- Simulatorn finns längst ner till vänster på sidan
- Alternativt kan nedladdningsknappen användas för att ladda ner koden om du har en BBC Microbit till hands
- Som nämnts i början av IBLE behöver du inte en BBC Microbit för att bygga koden i Block Editor eller för att simulera och testa din kod, även om det inte fungerar för nyfikna individer som jag själv!
En kommentar om redigeringsknappen
- Om du har observerat är koden i det offentliga området och det finns ett sätt att redigera den med knappen Redigera längst upp till höger
- Jag vill dock uppriktigt begära att du gör en kopia av den här koden och ändrar den så att den passar dina behov så att originalversionen bevaras i intresset för denna IBLE
Tack! Och glad kodning !!!:-)
Rekommenderad:
Ett enkelt gissningsspel - Python + XBees + Arduino: 10 steg
Ett enkelt gissningsspel - Python + XBees + Arduino: Så här fungerar spelet: Du har 4 försök att gissa en bokstav mellan ‘a’ - ‘h’ - > Gissa rätt bokstav: Du vinner! ?-> Gissa fel bokstav: spelet slut?-> Gissa någon annan karaktär utanför 'a' - 'h': spelet slut? Din Arduino låter dig
Vad är en CPU, vad gör den och hur felsöker du den: 5 steg
Vad är en CPU, vad gör den och hur felsöker du den: Varje dag läser du här termen " CPU " eller " Processor " kastas runt, men vet du verkligen vad det betyder? Jag kommer att gå igenom vad en CPU är och vad den gör, sedan kommer jag att gå igenom vanliga CPU -problem och hur jag eventuellt kan fixa dem
Enkelt gissningsspel för Python -nummer: 11 steg
Simple Python Number Guessing Game: I den här självstudien kommer vi att lära dig hur du skapar enkla Python -gissningsspel i Pycharm -applikationen. Python är ett skriptspråk som är bra för både nybörjare och experter. Kodningsstilen i Python är lättläst och följer
Gör ett enkelt rörelsessensorljus! (PIR): 13 steg (med bilder)
Gör ett enkelt rörelsessensorljus! (PIR): Gör en liten & Enkelt rörelsedetekterande ljus med mindre krångel och färre komponenter. En nybörjare kan också göra detta. En enkel förståelse för hur transistorn fungerar och kunskap om anod och katod behövs bara så Gör det spänningsfritt
Ett riktigt enkelt/enkelt/inte komplicerat sätt att få människor/människor/djur/robotar att se ut som om de har riktigt cool/ljus värmevision (valfri färg) med GIMP: 4 steg
Ett riktigt enkelt/enkelt/inte komplicerat sätt att få människor/människor/djur/robotar att se ut som om de har riktigt cool/ljus värmevision (valfri färg) med GIMP: Läs … titeln