Inhoudsopgave:
- Benodigdheden
- Stap 1: Initialiseren
- Stap 2: Voor altijd regent
- Stap 3: Het wapenkarakter verplaatsen
- Stap 4: Het projectiel lanceren
- Stap 5: Einde van het spel
Video: Laat het regenen: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Dit is een spel dat gespeeld moet worden op de Micro:bit
Het spel heet Rain en het doel is om te voorkomen dat je geraakt wordt door de vallende voorwerpen.
Ofwel door links of rechts te bewegen en/of de objecten te fotograferen.
Het spel wordt bediend door de volgende bedieningselementen.
Shake – Start een nieuw spel.
A – Verplaatst het teken naar links.
B – Verplaatst het teken naar rechts.
A+B – Vuurt het projectiel af op de vallende voorwerpen.
Een punt wordt toegekend voor elk vallend voorwerp dat door het projectiel wordt geraakt.
Als het personage wordt geraakt door het vallende object, verliezen ze een leven na het verliezen van drie levens. Het spel eindigt, dit wordt aangegeven door de afbeelding van het trieste gezicht en de score.
Elke fase van het spel is onderverdeeld in een aantal functies die in de tekst worden uitgelegd.
De beschrijving maakt gebruik van blokcode en het Javascript is ook beschikbaar.
Benodigdheden
Micro:bit
MakeCode-editor
Stap 1: Initialiseren
Initialisatie van spelparameters wordt bereikt door een combinatie van numerieke en Booleaanse variabelen toe te wijzen.
Het scherm met eventuele eerdere informatie opruimen, de startpositie van het pistoolkarakter toewijzen en de gebruiker de tijd geven om de Micro-bit klaar te maken om het spel te starten.
Het maakt het gemakkelijker om de code te begrijpen als de variabelen namen krijgen die hun functie aangeven
Bijvoorbeeld, 'vuur' initieert het 'kanon' dat de 'raket' lanceert.
Evenzo, als eindspeltelling groter is dan 3, dan is eindspel waar.
Omdat het pistool alleen horizontaal op de onderste rij beweegt, is y altijd 4 en wordt de variabele x gewijzigd om de juiste LED te verlichten met behulp van de plot- en unplot-commando's.
Het initialisatieproces wordt gebruikt in twee functies, On Start en On Shake.
Zoals de namen aangeven On Start-aanroepen Initialiseren aan het begin van de code om de gebruikte variabelen in te stellen op de vereiste waarden.
On Shake-oproepen Initialiseren wanneer de gebruiker een nieuw spel start.
Hierdoor kan de gebruiker het spel herstarten en initialiseert het de spelparametervariabelen, maakt het scherm leeg en plaatst het spelpersonage in zijn startpositie.
Stap 2: Voor altijd regent
Dit is het deel van de spelcode dat willekeurig de vallende objecten genereert en de startposities initialiseert voordat ze over het scherm worden verplaatst.
De indruk van vallen wordt bepaald door een tijdsvertraging tussen het aan- en uitzetten van de LED en het ophogen van de positieteller. Bij elke verhoging van de positieteller wordt gecontroleerd of het vallende voorwerp in aanvaring is gekomen met het spelpersonage.
Als er een botsing wordt gedetecteerd, gaan er levens verloren tot een maximum van drie, dan wordt de melding aan het einde van het spel gegeven, wordt de score weergegeven en wordt de lus van vallende voorwerpen beëindigd.
Rainstart is de start x-positie van dit teken, dat op het scherm wordt verhoogd met de 'for'-lusveranderende index2 voor de 'y'-positie. Van 0 tot 4 waarbij 0 de bovenkant is en 4 de onderkant.
We willen niet dat de regen te snel valt dat we hem niet kunnen zien, dus voegen we een vertraging toe met een pauze.
Als de regen valt, controleert het vooruit om te bepalen of er een botsing met het pistool is, dit wordt bereikt met behulp van 'punt' dit bepaalt de status van de LED ervoor.
Als de LED voor de regen aan is, wordt dit bepaald als een hit en is er een leven verloren of is het spel afgelopen.
Om alles netjes te houden, moeten we de eerder verlichte LED verwijderen, zodat het lijkt alsof er een regendruppel continu valt zonder een spoor achter te laten.
Stap 3: Het wapenkarakter verplaatsen
Er zijn twee invoerfuncties die worden gebruikt om het pistoolkarakter te verplaatsen.
Dit zijn Aan-knop A ingedrukt en Aan-knop B ingedrukt.
Op knop A ingedrukt.
Deze functie verplaatst het spelkarakter naar links wanneer de A-knop wordt ingedrukt.
Als het niet het einde van het spel is en met de wapenwaarde binnen het toegestane bereik, wordt de vorige wapentekenpositie niet geplot, de wapenwaarde verlaagd en de nieuwe wapenpositie uitgezet.
Als de pistoolwaarde kleiner is dan 0, wordt het pistool uitgezet op x=0, y=4
Op knop B ingedrukt.
Deze functie verplaatst het spelkarakter naar rechts wanneer de B-knop wordt ingedrukt.
Als het niet het einde van het spel is en met de wapenwaarde binnen het toegestane bereik, wordt de vorige wapentekenpositie niet geplot, de wapenwaarde verhoogd en de nieuwe wapenpositie uitgezet.
Als de pistoolwaarde groter is dan 4, wordt het pistool uitgezet op x=4, y=4
Stap 4: Het projectiel lanceren
We kunnen het pistoolkarakter naar links en rechts bewegen en nu moet het het projectiel kunnen afvuren op de objecten die naar beneden regenen.
Dit is het deel van de spelcode dat het projectiel genereert en de startposities initialiseert voordat het op het scherm wordt verplaatst.
De indruk van opwaartse beweging wordt bepaald door een tijdsvertraging tussen het in- en uitschakelen van de LED en het verhogen van de positieteller. Bij elke verhoging van de positieteller wordt gecontroleerd of het projectiel in aanvaring is gekomen met een vallend voorwerp.
Als een botsing wordt gedetecteerd, wordt het vallende object op die positie verwijderd, wordt de score bijgewerkt, wordt de positievariabele van het vallende object opnieuw ingesteld, worden de projectielpositie en initiator opnieuw ingesteld en wordt de projectiellus beëindigd.
Als het eindspel onwaar is, vuur = waar en raket = 4 voor de startpositie.
Er wordt een while-lus gemaakt die het mogelijk maakt om enkelvoudig of continu projectielen af te vuren terwijl vuur = waar.
De raketvariabele wordt verlaagd van 4 (onder) naar 0 (boven) naar
Op elk punt wanneer de raket het scherm opstijgt, wordt gecontroleerd op een botsing met een regenvoorwerp. Als er geen botsing wordt gedetecteerd, gaat het projectiel verder omhoog en van het scherm af.
Als een botsing wordt gedetecteerd, wordt het regenobject niet meer geplot, omdat het nu is vernietigd, de variabele wordt gereset en de trefferteller met 1 verhoogd.
De raket is niet geplot om de indruk te wekken dat deze is vernietigd.
De variabelen voor de regen, raket en vuur worden gereset.
Stap 5: Einde van het spel
Deze functie stelt de vlag van het eindspel in, geeft de melding van het eindspel en de score weer, en geeft voor elk verloren leven de vernietigingsstoot weer.
De endofgame-functie wordt twee keer aangeroepen wanneer de gebruiker een leven verliest en wanneer alle drie de levens zijn verstreken, wat het einde van het spel aangeeft.
Elke keer dat de eindespelfunctie wordt aangeroepen, wordt de eindspeltelling verhoogd, indien minder dan 3 wordt de ontploffingsfunctie aangeroepen die de vernietiging van het wapenkarakter animeert. De ontploffingsanimatie is een opeenvolging van veranderende LED-posities die met animatie de effecten van de schokgolf aangeven.
Terwijl u tegelijkertijd het scherm wist, de pistoolvariabele terugzet naar de standaard startpositie en een pauze inschakelt voordat u opnieuw commentaar geeft op het spel.
Als endgamecount = 3 wordt de blast-functie aangeroepen en daarna wordt het droevige gezicht weergegeven dat het einde van het spel aangeeft, gevolgd door de behaalde score. Zodra de score is gewist, ben je klaar om het spel opnieuw te starten door de Micro:bit te schudden.
Aanbevolen:
Raspberry Pi Oled-klok Bekijk het, hoor het en voel het: 5 stappen (met afbeeldingen)
Raspberry Pi Oled Clock Watch It Hear It and Feel It: dit is een slimme klok die de tijd op een OLED-display weergeeft en je kunt ook de tijd horen op verschillende tijdsintervallen die hulpvol zijn voor blinden en het verandert ook de led-kleur met de tijd zoals licht in de schemering licht in de avond wordt oranje naar geel en houdt van t
Schrijf het ! Maak het ! Deel het!: 4 stappen
Schrijf het ! Maak het ! Deel het!: Mijn leerlingen hebben Lego gebruikt om creativiteit toe te voegen aan hun schrijven, de organisatie van het schrijven en om hun werk digitaal te presenteren met hun familie en met hun leeftijdsgenoten in de klas
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Info toegevoegd: 4 stappen
Hoe muziek te krijgen van BIJNA ELKE (Haha) website (zolang je het kunt horen, kun je het krijgen … Ok prima als het in Flash is ingesloten, kun je dat misschien niet) BEWERKT !!!!! Toegevoegde info: als je ooit naar een website gaat en een nummer speelt dat je leuk vindt en wilt, dan is hier de instructie voor jou, niet mijn schuld als je iets verknoeit (de enige manier waarop het zal gebeuren is als je dingen begint te verwijderen zonder reden )ik heb muziek kunnen krijgen voor
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het heffen/verlagen van in het midden gemonteerde voetsteunen op elektrische rolstoelen - Ajarnpa
Instructies voor het voltooien van de mock-up van het ontwerp van de rupsschuif voor het omhoog/omlaag brengen van in het midden gemonteerde voetsteunen op elektrische rolstoelen: in het midden gemonteerde voetsteunen kunnen omhoog worden gebracht om onder de zitting goed te worden opgeborgen en omlaag om te worden ingezet. Een mechanisme voor onafhankelijke bediening van het opbergen en plaatsen van de voetsteun is niet inbegrepen in elektrische rolstoelen op de markt, en PWC-gebruikers hebben de behoefte geuit
Waterdichte luidsprekers die drijven - "Het drijft, het draagt en het rockt de noten!": 7 stappen (met afbeeldingen)
Waterdichte luidsprekers die drijven - "It Floats, It Totes and It Rocks the Notes!": Dit waterdichte luidsprekerproject is geïnspireerd op vele reizen naar de Gila-rivier in Arizona (en SNL's "I'm on a Boat!" ). We zullen de rivier afdrijven of lijnen aan de kust bevestigen zodat onze drijvers vlak bij onze camping blijven. Iedereen he