PXT: Tikkende bombe

Skrevet av: Kolbjørn Engeland og Julie Revdahl

Kurs: Microbit
Tema: Blokkbasert, Elektronikk, Spill
Fag: Programmering
Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
Til lærerveiledningLast ned PDF

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.

Bilde av en microbit som viser en bombe

Steg 1: Vi starter spillet

Vi begynner med å vise et tall når vi rister på micro:biten.

checkSjekkliste

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
    }
})

flagTest prosjektet

Det er to forskjellige måter vi kan teste micro:bit-programmer på:

Lisens: CC BY-SA 4.0

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!