Enarmet banditt

Skrevet av: Oversatt fra Code Club UK

Oversatt av: Gudbrand Tandberg og Anne-Marit Gravem

Kurs: Scratch
Tema: Blokkbasert, Spill, Animasjon
Fag: Matematikk, Programmering
Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse
Til lærerveiledningLast ned PDF

Introduksjon

Dette er et spill med tre figurer som endrer utseende. Din oppgave er å stoppe figurene én etter én, slik at alle tre blir like.

Bilde av to dinosaurer og en banan

Steg 1: Lag en figur som bytter drakt

La oss importere de bildene vi trenger for spillet.

checkSjekkliste

Steg 2: Få figuren til å rullere

Nå som figuren har noen drakter, ønsker vi at den skal veksle mellom dem.

checkSjekkliste

  • Når @greenFlag klikkes
    gjenta for alltid
        neste drakt
        vent (0.5) sekunder
    slutt
    

flagTest Prosjektet

Klikk på det grønne flagget.

Ting å prøve

Tilpass tiden i vent-klossen. Hvilke tall gjør spillet for vanskelig eller for lett?

Steg 3: Frys ruletten!

Nå skal vi se hvordan vi kan få draktene til å stoppe når vi klikker på figuren.

checkSjekkliste

Bra! Vi kan få draktene til å bytte i det uendelige, men hvordan får vi de til å stoppe når vi klikker på de? En måte å gjøre dette på er ved å bruke en variabel som setter statusen til figuren. Dette vil vi se at er praktisk også senere.

  • når @greenFlag klikkes
    sett [stoppet v] til [0]
    gjenta for alltid
        neste drakt
        vent (0.5) sekunder
    slutt
    
  • når denne figuren klikkes
    sett [stoppet v] til [1]
    
  • når @greenFlag klikkes
    sett [stoppet v] til (0)
    gjenta for alltid
        hvis <(stoppet) = (0)>
            neste drakt
            vent (0.5) sekunder
        slutt
    slutt
    

flagTest prosjektet

Klikk på det grønne flagget.

Start skriptet en gang til ved å klikke på det grønne flagget igjen.

Steg 4: Lag de andre figurene

Nå trenger vi to figurer til for å gjøre spillet komplett!

checkSjekkliste

flagTest prosjektet

Klikk på det grønne flagget.

Steg 5: Start hver figur med en tilfeldig drakt

La oss få figurene til å skifte til en tilfeldig drakt når det grønne flagget klikkes.

Når du starter spillet vil du se at alle figurene skifter drakt samtidig. Spillet vil bli morsommere (og vanskeligere) dersom de endres litt mer uforutsigbart.

checkSjekkliste

  • når @greenFlag klikkes
    sett [stoppet v] til [0]
    bytt drakt til (tilfeldig tall fra (1) til (3))
    gjenta for alltid
        hvis <(stoppet) = [0]>
            bytt drakt til (tilfeldig tall fra (1) til (3))
            vent (0.5) sekunder
        slutt
    slutt
    

flagTest prosjektet

Klikk på det grønne flagget.

Ting å prøve

Gjør spillet vanskeligere!

Se om du klarer å endre vanskelighetsgraden på et eller annet vis. Å få draktene til å rullere raskere er enkelt. Prøv å gjøre noe litt mer oppfinnsomt. Noen muligheter du kan tenke på er:

Lek og kom opp meg egne idéer!

Hver gang du endrer noe, tenk på om det vil gjøre spillet lettere eller vanskeligere. Er spillet for lett eller for vanskelig? Hvordan kan du justere det slik at det blir akkurat passe?

Steg 6: Vis en melding når spillet er over

La oss vise en Spillet er slutt-melding når spillet er over.

checkSjekkliste

La oss først hente en ny bakgrunn som vi viser når spillet er over.

  • når @greenFlag klikkes
    bytt bakgrunn til [Spill v]
    vent til <([stoppet v] av [Figur3 v])  = [1]>
    bytt bakgrunn til [Slutt v]
    

flagTest prosjektet

Klikk på det grønne flagget.

La oss forandre skriptet slik at det vil funke uansett hvilken rekkefølge figurene stoppes i.

checkSjekkliste

  • når @greenFlag klikkes
    bytt bakgrunn til [Spill v]
    vent til < < <([stoppet v] av [Figur1 v]) = [1]> og <([stoppet v] av [Figur2 v]) = [1]> > og <([stoppet v] av [Figur3 v]) = [1]> >
    bytt bakgrunn til [Slutt v]
    

flagTest prosjektet

Klikk på det grønne flagget.

Steg 7. Fortell spilleren om de vant eller tapte.

Målet med spillet er å klikke på figurene slik at de stopper når de viser samme drakten. Det ville være praktisk å vise en melding som forteller deg om du vant eller tapte.

checkSjekkliste

Vi har tidligere skrevet kode som sjekker om spillet er over, så alt vi trenger å gjøre er å sjekke om spilleren har vunnet.

Nå trenger vi kode for å velge hvilken bakgrunn vi skal vise når spillet er over.

  • når @greenFlag klikkes
    bytt bakgrunn til [Spill v]
    vent til < < <([stoppet v] av [Figur1 v]) = [1]> og <([stoppet v] av [Figur2 v]) = [1]> > og <([stoppet v] av [Figur3 v]) = [1]> >
    hvis <<([drakt nr. v]  av [Figur1 v]) = ([drakt nr. v]  av [Figur2 v])> og <([drakt nr. v]  av [Figur2 v]) = ([drakt nr. v] av [Figur3 v])>>
        bytt bakgrunn til [Vinner v]
    ellers
        bytt bakgrunn til [Taper v]
    slutt
    

flagTest prosjektet

Klikk på det grønne flagget.

Veldig bra! Du har nå fullført spillet, men det er fremdeles ting du kan gjøre med spillet ditt. Prøv deg på disse utfordringene!

Utfordring: Gjør spillet enklere og vanskeligere med tiden

Alle er ikke like flinke til spillet. Hvordan kan du la vanskelighetsgraden avhenge av spilleren?

En måte å gjøre dette på er å endre hastigheten draktene forandres på. Du kan bruke en variabel kalt forsinkelse for å gi varigheten til hver figurs ventekloss. Hvis spilleren vinner runden kan forsinkelsen reduseres litt (for å gjøre spillet vanskeligere). Hvis spilleren taper runden kan man øke forsinkelsen litt for å gjøre spillet lettere.

Du må sikkert vurdere å bruke en annen måte å starte spillet på istedet for å bruke når @greenFlag klikkes. Deretter kan du lagre verdiene i variabler som huskes mellom rundene.

saveLagre prosjektet

Godt gjort, du er ferdig! Nå kan du nyte spillet ditt!

Ikke glem at du kan dele spillet med alle vennene og familien din ved å klikke på Legg ut i topp-menyen!

Lisens: Code Club World Limited Terms of Service

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!