PXT: Hjerneteppe!
Skrevet av: Helene Isnes og Julie Revdahl
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.
Sjekkliste
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
Sjekkliste
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!
Sjekkliste
Spilleren skal bare kunne gjette hvis variabelen Kan gjette
er satt til sann.
Test 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" } })
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!