Inhoudsopgave:

Laat het regenen: 5 stappen
Laat het regenen: 5 stappen

Video: Laat het regenen: 5 stappen

Video: Laat het regenen: 5 stappen
Video: Dit ging niet zoals ik had verwacht..😳 2024, Juli-
Anonim
Laat het regenen
Laat het regenen

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

Initialiseren
Initialiseren
Initialiseren
Initialiseren
Initialiseren
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

Voor altijd regent
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

Het wapenkarakter verplaatsen
Het wapenkarakter verplaatsen
Het wapenkarakter verplaatsen
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

Het projectiel lanceren
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

Einde van het spel
Einde van het spel
Einde van het spel
Einde van het spel
Einde van het spel
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: