Level 2PXT: Ildfluer

Skrevet av: Oversatt fra makecode.microbit.org

Oversatt av: Kolbjørn Engeland

Kurs: Microbit
Tema: Blokkbasert, Spill
Fag: Programmering, Naturfag
Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Introduksjon

Ildfluer blinker i mørket om natta. Noen ildfluer er spesielle ved at de kan blinke nesten i takt. Hvordan er dette mulig? Forskere har funnet ut at hver ildlfue har sin egen interne klokke og blinker med jevne mellomrom. I tilleg ser hver ildflue når naboen blinker, og da endrer de litt på på sin egen klokke. Til slutt kan da hele svermer av ildlfluer blinke i takt. Du kan lese mer om ildlfuer og synkronisert blinking på denne nettsiden.

I denne oppgaven skal vi kode micro:bitene slik at de fungere som en sverm med blinkende ildfluer.

Steg 1: Vi lager en ensom ildflue

Det første vi skal gjøre er å lage en ensom ildflue som ikke kommuniserer med de andre. Det gjør vi ved å lage en intern klokke som teller langsomt oppver. Hver gang den når verdien 8 bruker en endre poengsum-kloss fra Spill-menyen for å vise en liten animasjon.

checkSjekkliste

basic.forever(function () {
    if (klokke >= 8) {
        game.addScore(1)
        basic.pause(200)
        klokke = 0
    } else {
        basic.pause(100)
        klokke += 1
    }
})

flagTest prosjektet

Nå kan dere teste om micro:biten blinker med jevne mellomrom

Steg 2: Ildfluene kommuniserer

Vi kan nå få micro:bitene til å kommunisere ved å be de sende ut et radiosignal hver gang de blinker. Vi vil også la alle micro:bitene motta radiosignal fra naboene og endre klokka når signalet mottas.

checkSjekkliste

radio.setGroup(1)
basic.forever(function () {
    if (klokke >= 8) {
        radio.sendNumber(0)
        game.addScore(1)
        basic.pause(200)
        klokke = 0
    } else {
        basic.pause(100)
        klokke += 1
    }
})
radio.onReceivedNumber(function (receivedNumber) {
    klokke += 1
})

flagTest prosjektet

Nå kan dere teste om micro:biten blinker med jevne mellomrom

Steg 4: Noen utfordringer

Noen forslag til endringer og utvidelser, men prøv selv dine ideer!

checkFlere ideer

Nedenfor er noen ideer til videreutvikling, men finn gjerne på noe helt eget!

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!