PXT: Tikkende bombe
Skrevet av: Kolbjørn Engeland og Julie Revdahl
Introduksjon
Kjenner du "Tikkende-bombe" -spillet? Du kaster rundt en leke-bombe mens en klokke teller ned og personen som holder den når tiden er ute, taper... Det er veldig morsomt.
I dette prosjektet vil vi bygge et lignende type spill, men i stedet bruker vi en virtuell bombe og micro:bit radio. Den virtuelle bomben er en tall-variabel som teller ned til 0, og vi skal sende dette tallet mellom flere micro:biter. Den som har den virtuelle bomben når vi kommer til 0 taper. Vi kan sende tall ved hjelp av radioblokkene.
Steg 1: Vi starter spillet
Vi begynner med å vise et tall når vi rister på micro:biten.
Sjekkliste
Hva betyr det å ha et tall som representerer en bombe? Vi kan lage en bombe-klokke som er et tall som sendes mellom micro:bitene ved hjelp av radioen. Bombeklokka skal telle ned, og når den blir 0, skal den ringe.
Vi starter med å kode interaksjonen mellom micro:biten og spillerne. Vi vil da at spillet starter og den første bomben sendes ved å trykke på A+B-knappen. Når en bombe er mottatt, viser skjermen et bilde av bomben, og når spilleren rister på micro:biten sendes bomben til den neste spilleren.
let bombe = -1 radio.setGroup(5)
input.onButtonPressed(Button.AB, function () { bombe = Math.randomRange(10, 20) })
input.onGesture(Gesture.Shake, function () { if (bombe > 0) { radio.sendNumber(bombe) bombe = -1 } })
radio.onReceivedNumber(function (receivedNumber) { bombe = receivedNumber })
Nå kan vi gå i gang med å kode selve klokka som teller ned til 0. Dette gjør vi ved å bruke en gjenta for alltid
blokk der bombe
-variabelen teller ned til 0. Inne i denne blokken må vi sjekke hvilken verdi bombe
-variabelen har, slik at vi viser bombe-ikon og teller ned kun når vi har bomben (dvs bombe
-variabelen er positiv) og stopper nedtellingen og viser et hodeskalle-ikon når vi kommer til 0.
let bombe = 0 basic.forever(function () { if (bombe < 0) { basic.clearScreen() } if (bombe == 0) { basic.showIcon(IconNames.Skull) } if (bombe > 0) { basic.showIcon(IconNames.Target) bombe += -1 } })
Test prosjektet
Det er to forskjellige måter vi kan teste micro:bit-programmer på:
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!