Level 4PXT: Hjerneteppe!

Skrevet av: Helene Isnes og Julie Revdahl

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

Introduksjon

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

I denne oppgaven skal vi bruke noe som kalles for en funksjon. En funksjon er et sett med flere kodelinjer (klosser) som til sammen utfører en oppgave. Å lage funksjoner er lurt dersom man skal gjøre oppgaven flere ganger underveis i programmet. Det kan også være lurt for å dele opp programmet i mindre deler.

Steg 1: Velg fasit

Det første vi skal kode er en funksjon som skal inneholde de forskjellige bokstavkombinasjonene man kan få som en oppgave. Funksjonen skal også ha med en variabel Fasit som skal velge hvilken oppgave som er den gjeldende.

checkSjekkliste

Forslag til tre ulike teksstrenger er: ABCCBABA, ACCBACBC og CBACCBAB

OBS!

Hvis du endrer antall oppgaver i listen, må du også endre makstallet for det tilfeldige tallet du plukker. Makstallet skal være antall oppgaver - 1.

Steg 2: Vis fasit

I dette steget skal vi lage en til funksjon. Denne skal holde styr på nivået vi er på og vise bokstavene til skjermen på micro:biten.

Sjekkliste

Nivået vi er på tilsvarer antall bokstaver vi må huske. Det vi nå skal kode er bokstavene som skal vises på skjermen til nivået vi er på.

Vi går nå ut av løkken og fortsetter videre under.

let Nivå = 0
let Gjetning = ""
while (Gjetning.length < Nivå) {
    basic.showString("?")
}

Merk at du må sette denne koden inn i funksjonen din på riktig sted, og ikke i en ved start-blokk som på bildet.

Steg 3: Sett sammen programmet

checkSjekkliste

let Nivå = 0
let Fasit = ""
let Gjetning = ""
while (Gjetning.compare(Fasit.substr(0, Nivå)) != 0) {

}

Pass på at du plasserer koden der den skal.

Vi går nå ut av den ene løkken.

Steg 4: Knapper

Nå skal vi lage knappene som spilleren skal bruke når den gjetter på bokstavene!

checkSjekkliste

Spilleren skal bare kunne gjette hvis variabelen Kan gjette er satt til sann.

flagTest prosjektet

Nå er koden din ferdig!

Videre arbeid: Musikk istedenfor bokstaver!

Hvis du vil kan du bytte til å gjette på toner i steden for bokstaver. Du vil trenge litt ekstra utstyr:

- Høyttaler (buzzer) eller hodetelefoner

- 2 krokodilleklemmer

let indeks = 0
let Fasit = ""
if (Fasit.charAt(indeks) == "A") {
    music.playTone(262, music.beat(BeatFraction.Whole))
} else if (Fasit.charAt(indeks) == "B") {
    music.playTone(330, music.beat(BeatFraction.Whole))
} else {
    music.playTone(392, music.beat(BeatFraction.Whole))
}

Pass på at du plasserer koden inne i funksjonen din og ikke i ved start-klossen som på bildet.

input.onButtonPressed(Button.A, function () {
    let Kan_Gjette = 0
    if (Kan_Gjette) {
        music.playTone(262, music.beat(BeatFraction.Whole))
        Gjetning = "" + Gjetning + "A"
    }
})
input.onButtonPressed(Button.AB, function () {
    let Kan_Gjette = 0
    if (Kan_Gjette) {
        music.playTone(392, music.beat(BeatFraction.Whole))
        Gjetning = "" + Gjetning + "C"
    }
})
input.onButtonPressed(Button.B, function () {
    let Kan_Gjette = 0
    if (Kan_Gjette) {
        music.playTone(330, music.beat(BeatFraction.Whole))
        Gjetning = "" + Gjetning + "B"
    }
})
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!