Level 2PXT: Ildfluer

Skrevet av: Oversatt fra makecode.microbit.org

Oversatt av: Kolbjørn Engeland

Kurs: Microbit
Tema: Blokkbasert, Spill
Fag: Programmering, Naturfag, Teknologi, Matematikk
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 tillegg 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

Noen utfordringer

Noen forslag til endringer og utvidelser, men prøv selv dine 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!