Level 2Ørkenløp

Skrevet av: Oversatt fra Code Club UK

Oversatt av: Anne-Marit Gravem

Kurs: Scratch
Tema: Blokkbasert, Spill
Fag: Matematikk, Programmering
Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse

Introduksjon

Dette er et spill for to, der en papegøye og en løve kjemper om å komme først gjennom ørkenen. Hver spiller må trykke en tast så fort og ofte som mulig for å flytte figuren sin, og den som kommer først til kanten av skjermen vinner.

Illustrasjon av et ferdig ørkenløp spill

Steg 1: Lag en scene og legg til figurer

Vi begynner med å få på plass bakgrunnen og figurene.

checkSjekkliste

Steg 2: La løven og papegøyen bevege seg

Vi vil at figurene skal bevege seg når du trykker på en knapp.

checkSjekkliste

  • når [l v] trykkes
    gå (4) steg
    
  • når [a v] trykkes
    gå (4) steg
    

flagTest prosjektet

Klikk på det grønne flagget.

Steg 3: Start kappløpet

Nå må vi kjøre i gang kappløpet og kåre en vinner. Vi begynner med å lage startknapp.

checkSjekkliste

  • når grønt flagg klikkes
    vis
    
  • når denne figuren klikkes
    si [3] i (1) sekunder
    si [2] i (1) sekunder
    si [1] i (1) sekunder
    si [LØP!] i (1) sekunder
    skjul
    

flagTest prosjektet

Klikk på det grønne flagget, og deretter på startknappen.

Vi ønsker at figurene bare beveger seg etter at kappløpet er startet og vi ønsker å vite når kappløpet er over.

checkSjekkliste

  • når grønt flagg klikkes
    vis
    sett [kappløp v] til [0]
    
  • når [a v] trykkes
    hvis <(kappløp) = [1]>
        gå (4) steg
    slutt
    

flagTest prosjektet

Klikk på det grønne flagget.

Steg 4: Avslutte kappløpet

Nå vil vi finne ut hvem som vinner kappløpet, og i tillegg gjøre klart for en ny runde.

checkSjekkliste

  • når [a v] trykkes
    hvis <(kappløp) = [1]>
        gå (4) steg
        hvis <berører [kant v]?>
            sett [kappløp v] til [0]
        slutt
    slutt
    
  • Trykk på Lyder-fanen og deretter mikrofon-ikonet og spill inn en morsom trudelutt! Opptaket starter når du har klikket på rundingen slik at den blir rød. Klikk stopp (firkanten) når du er ferdig, og gi lyden et navn – for eksempel Polly. Noen nettlesere kan spørre om tillatelse til å spille inn lyd. Hvis du ikke ønsker dette, bruk lydene som følger med figurene.

  • når [a v] trykkes
    hvis <(kappløp) = [1]>
        gå (4) steg
        hvis <berører [kant v]?>
            sett [kappløp v] til [0]
            start lyden [Polly v]
            si [Polly vinner!] i (3) sekunder
        slutt
    slutt
    

flagTest prosjektet

Klikk på det grønne flagget.

Steg 5: Nullstill spillet

Når kappløpet er over må vi fortelle de andre figurene at spillet er over og nullstille spillet, slik at er klart for en ny runde.

checkSjekkliste

  • når [a v] trykkes
    hvis <(kappløp) = [1]>
        gå (4) steg
        hvis <berører [kant v]?>
            sett [kappløp v] til [0]
            start lyden [Polly v]
            si [Polly vinner! v] i (3) sekunder
            send melding [Avslutt v]
        slutt
    slutt
    
  • når jeg mottar [Avslutt v]
    sett x til (-170)
    
  • når grønt flagg klikkes
    sett x til (-170)
    
  • når jeg mottar [Avslutt v]
    vis
    

flagTest prosjektet

Klikk på det grønne flagget.

saveLagre prosjektet

Spillet er ferdig! Hvis du vil kan du velge Legg ut slik at venner og familie også kan spille det.

Nedenfor er det noen forslag og ideer til hvordan du kan utvide spillet og gjøre det enda mer interessant.

Utfordring 1: Legg til en rakett!

Nedenfor er et forslag til hvordan et rakett-skript kan se ut. Du må legge til noen lyder og variabler på egen hånd.

når [q v] trykkes
hvis <<(kappløp) = [1]> og <(rakett_brukt) = [0]>>
    bytt drakt til [parrot-rakett v]
    sett [rakett_brukt v] til [1]
    gå (30) steg
    start lyden [motorcycle passing v]
    hvis <berører [kant v]?>
        sett [kappløp v] til [0]
        start lyden [Polly v]
        si [Polly vinner! v] i (3) sekunder
        send melding [Avslutt v]
    slutt
    bytt drakt til [parrot-a v]
slutt

flagTest prosjektet

Klikk på det grønne flagget.

Utfordring 2: Bruk egendefinerte klosser for å forenkle skriptet ditt

Koden som brukes til å sjekke om kappløpet er over brukes nå to steder for hver figur; når figuren beveger seg normalt og når den beveger seg med rakett. Vi kan forenkle skriptet vårt ved å bruke en egendefinert kloss. Dette er en samling kode som brukes flere steder. Det er nesten som at vi lager vår egen Scratch-kodekloss!

  • definer ferdig
    hvis <berører [kant v]?>
        sett [kappløp v] til [0]
        start lyden [Polly v]
        si [Polly vinner! v] i (3) sekunder
        send melding [Avslutt v]
    
    når [a v] trykkes
    hvis <(kappløp) = [1]>
        gå (4) steg
        ferdig
    
    når [q v] trykkes
    hvis <<(kappløp) = [1]> og <(rakett_brukt) = [0]>>
        bytt drakt til [parrot-rakett v]
        sett [rakett_brukt v] til [1]
        gå (30) steg
        start lyden [motorcycle passing v]
        ferdig
        bytt drakt til [parrot-a v]
    

flagTest prosjektet

Klikk på det grønne flagget.

  • Virker spillet fortsatt slik det skal?

  • Er spillet ferdig når papegøyen eller løven kommer til kanten av skjermen?

saveLagre prosjektet

Veldig bra! Nå er du ferdig og kan kose deg med spillet du har laget!

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!