PXT: Flasketuten peker på
Skrevet av: Kolbjørn Engeland, Julie Christina Revdahl
Introduksjon
Du har sikker lekt 'flasketuten peker på' mange ganger. I dette prosjektet vil vi bygge et lignende type spill, men i steden for å snurre på en flaske skal vi la en pil snurre rundt på displayet på micro:biten.
Steg 1: Vi starter spillet
Når vi starter spillet, viser vi først en pil som peker rett opp, og deretter lager vi en liste med bilde av piler som peker i hver sin retning. Totalt har vi åtte ulike piler.
Sjekkliste
images.arrowImage(ArrowNames.North).showImage(0) let pilbilde = [0, 0, 0, 0, 0, 0, 0, 0]
Steg 2: Velge en tilfeldig pil
Her skal du velge mellom piler som peker i åtte forskjellige retninger. Variabelen pilliste
inneholder de åtte pilene der hver pil har et nummer. I tabellen under finner du en oversikt over pilene, både med norske og engelske navn.
Pil | ↑ | ↗ | → | ↘ | ↓ | ↙ | ← | ↖ |
---|---|---|---|---|---|---|---|---|
Nummer | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Norsk navn | Nord | Nordøst | Øst | Sørøst | Sør | Sørvest | Vest | Nordvest |
Engelsk navn | North | North East | East | South East | South | South West | West | North West |
Å velge en tilfeldig pil, blir derfor det samme som å velge et tilfeldig tall. Altså: Velger vi tallet 4, viser vi en pil som peker mot Sør.
Sjekkliste
input.onButtonPressed(Button.A, function () { let pilliste: Image[] = [] retning = Math.randomRange(0, 7) pilliste[retning].showImage(0) })
Steg 3: Vi snurrer pilen
Nå skal vi få pilen til å snurre og så stoppe i en tilfeldig retning.
input.onButtonPressed(Button.A, function () { snurr(5) }) function snurr (antall: number) { antallbilder = antall * 8 + Math.randomRange(0, 7) pilindeks = 0 for (let i = 0; i < antallbilder; i++) { let pilbilde: Image[] = [] pilbilde[pilindeks].showImage(0) pilindeks += 1 if (pilindeks == 8) { pilindeks = 0 } } }
Test prosjektet
Steg 4: Pilen blinker.
For å markere at pilen har sluttet å snurre, kan vi legge til at pilen skal blinke.
function blink (retning: number) { for (let i = 0; i < 10; i++) { let pilbilde: Image[] = [] basic.clearScreen() basic.pause(100) pilbilde[retning].showImage(0) basic.pause(50) } } function snurr (antall: number) { antallbilder = antall * 8 + Math.randomRange(0, 7) pilindeks = 0 for (let i = 0; i < antallbilder; i++) { let pilbilde: Image[] = [] pilbilde[pilindeks].showImage(0) pilindeks += 1 if (pilindeks == 8) { pilindeks = 0 } } blink(pilindeks) }
Test prosjektet
Noen utfordringer
Noen forslag til endringer og utvidelser. Prøv gjerne dine egne ideer!
Du har nå lært hvordan du kan lage en enkel animasjon med micro:bit. Nedenfor er noen ideer til videreutvikling, men finn gjerne på noe helt eget!
Forbedre denne siden
Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!