Level 2JafseFisk

Skrevet av: Oversatt fra Code Club UK

Oversatt av: Anne-Marit Gravem

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

Introduksjon

Vi skal nå lage et JafseFisk-spill! Målet i spillet er å hjelpe JafseFisk med å spise alle byttedyrene som svømmer rundt i havet.

Illustrasjon av et ferdig JafseFisk spill

Steg 1: JafseFisk følger musepekeren

Først skal vi lage JafseFisk som svømmer rundt i havet!

checkSjekkliste

  • når grønt flagg klikkes
    bytt drakt til [shark2-b]
    gjenta for alltid
        pek mot [musepeker v]
        gå (3) steg
    slutt
    

flagTest Prosjektet

Klikk på det grønne flagget.

checkSjekkliste

  • når grønt flagg klikkes
    bytt drakt til [shark2-b]
    gjenta for alltid
        hvis <(avstand til [musepeker v]) > [10]>
            pek mot [musepeker v]
            gå (3) steg
        slutt
    slutt
    

Ting å prøve

Hvis du vil kan du forandre tallene i skriptet, og se hvordan det forandrer bevegelsene.

Steg 2: Legg til byttedyr

Det er på tide å gi JafseFisk noe å spise!

checkSjekkliste

  • når grønt flagg klikkes
    sett størrelse til (40) %
    gjenta for alltid
        gå (2) steg
        snu @turnLeft (tilfeldig tall fra (-20) til (20)) grader
        sprett tilbake ved kanten
    slutt
    

flagTest prosjektet

Klikk på det grønne flagget.

For øyeblikket samspiller ikke JafseFisk og byttedyret med hverandre. Det skal vi gjøre noe med i neste steg.

Ting å prøve

Steg 3: JafseFisk spiser byttet

Nå skal vi la JafseFisk spise byttet!

Når JafseFisk har fanget byttet i munnen skal to ting skje: JafseFisk må lukke munnen og lage en gomlelyd. Videre må byttet forsvinne, for så å dukke opp igjen en liten stund senere.

checkSjekkliste

  • når grønt flagg klikkes
    vis
    gjenta for alltid
        gå (2) steg
        snu  @turnLeft (tilfeldig tall fra (-20) til (20)) grader
        sprett tilbake ved kanten
        hvis <berører [JafseFisk v]?>
            skjul
            vent (3) sekunder
            vis
        slutt
    slutt
    

flagTest prosjektet

Klikk på det grønne flagget.

checkSjekkliste

Hvordan kan vi sikre at byttet bare forsvinner hvis det berører JafseFisks munn? Tja, vi kan bruke <berører fargen [#FFFFFF]?> og se om den berører det hvite på fiskens tenner.

Slik skal skriptet til byttedyret se ut:

når grønt flagg klikkes
vis
gjenta for alltid
    gå (2) steg
    snu  @turnLeft (tilfeldig tall fra (-20) til (20)) grader
    sprett tilbake ved kanten
    hvis <<berører [JafseFisk v]?> og <berører fargen [#FFFFFF]?>>
        skjul
        vent (3) sekunder
        gå til x: (tilfeldig tall fra (-220) til (220)) y: (tilfeldig tall fra (-170) til (170))
        vis
    slutt
slutt

flagTest prosjektet

Klikk på det grønne flagget.

Steg 4: JafseFisk reagerer

JafseFisk må vite når den har spist noe slik at den kan gi fra seg en lyd og bytte drakt.

checkSjekkliste

  • når grønt flagg klikkes
    vis
    gjenta for alltid
        gå (2) steg
        snu  @turnLeft (tilfeldig tall fra (-20) til (20)) grader
        sprett tilbake ved kanten
        hvis <<berører [JafseFisk v]?> og <berører fargen [#FFFFFF]?>>
            send melding [Du tok meg! v]
            skjul
            vent (3) sekunder
            gå til x: (tilfeldig tall fra (-220) til (220)) y: (tilfeldig tall fra (-170) til (170))
            vis
        slutt
    slutt
    

Nå vil vi at JafseFisk reagerer på denne meldingen ved å lage en gomlelyd og klikke med kjevene.

  • når jeg mottar [Du tok meg! v]
    start lyden [bite v]
    gjenta (2) ganger
        bytt drakt til [Shark2-a v]
        vent (0.3) sekunder
        bytt drakt til [Shark2-b v]
        vent (0.3) sekunder
    slutt
    

Nå er JafseFisk klar til å spise, så la oss fylle havet med byttedyr.

flagTest prosjektet

Klikk på det grønne flagget.

Noe å tenke på

Hvorfor bør vi legge til vis i starten av byttedyrets skript? Tenk på hva som vil skje om byttet blir spist og spillet stoppes før det dukker opp igjen. Og hva vil skje om spillet deretter blir startet igjen?

saveLagre prosjektet

Godt gjort! Du har i grunn fullført spillet! Men det finnes flere muligheter for utvidelse av spillet. Er du klar for en utfordring?

Utfordring 1: Forandre bevegelsene til byttedyrene

For øyeblikket beveger alle byttedyrene seg likt. Kan du få ett av dem til å bevege seg annerledes?

Hint: Ikke bruke for lang tid på denne oppgaven uten å se på de andre utfordringene i dette prosjektet.

Velg deg ut et byttedyr å eksperimentere med. Hvis de har samme drakt, bytt farge med sett [farge v] effekt til (0). Slik kan du se forskjell fra resten av byttedyrene. Prøv nå å få dette byttedyret til å bevege seg saktere enn de andre.

Hint: Se på klossen gå (2) steg.

flagTest prosjektet

Klikk på det grønne flagget.

  • Hint: Hvis byttet ditt svømmer rundt i sirkler, sjekk verdiene i snu @turnLeft (tilfeldig tall fra (-20) til (20)) grader.

Utfordring 2: Hjelp byttet å unngå JafseFisk

Byttedyrene i dette spillet er skikkelig dumme! De svømmer bare tilfeldig rundt til de blir spist. Ekte fisk svømmer vekk fra rovfisker. Nå vil vi la ett av byttedyrene svømme vekk fra JafseFisk.

Det fins ingen kloss i Scratch som kan gi oss retningen vekk fra en annen figur. Men du kan få en figur til å snu seg i retningen mot en annen, og deretter la den snu seg i motsatt retning. Klossene du trenger er i Bevegelse-kategorien.

Prøv nå å hjelpe et av byttedyrene med å snu seg vekk fra JafseFisk. La den også virre litt mens den svømmer bort! Du vil kanskje oppdage at byttet setter seg fast i et hjørne? Du vil kanskje at byttet bare ønsker å flykte dersom JafseFisk kommer for nære? Hint: Se tilbake på hvordan vi brukte (avstand til [musepeker v]) tidligere i spillet.

flagTest prosjektet

Klikke på det grønne flagget.

Utfordring 3: Legg til poeng

Det er ikke nok bare å spise fisk. Hvordan vet du at du er en bedre spiller enn vennene dine? Du må kunne samle poeng, så la oss legge til en poengtavle. Lag en variabel som heter (poeng), og endre denne når JafseFisk spiser. Pass på at poengene går tilbake til null ved begynnelsen av spillet. Hvor skal du legge inn disse endringene?

flagTest prosjektet

Klikk på det grønne flagget.

Utfordring 4: Legg til en nedtelling

Gi deg selv en tidsfrist. Hvor mange fisk kan du spise på 30 sekunder?

Legg til en ny variabel, (tid). Lag et nytt skript som setter variabelen til for eksempel 30, for deretter å endre denne med -1, vente 1 sekund, og endre igjen, helt til den når null. Til slutt kan du bruke en stop [alle v]-kloss for å slutte spillet.

flagTest prosjektet

Klikk på det grønne flagget.

Utfordring 5: Legg til bonuspoeng

Legg til en belønning med mange bonuspoeng om du klarer å spise alle fiskene samtidig. Hvordan kan du vite hvor mange som er spist?

Hint: En måte å gjøre dette på er å bruke en variabel for å telle hvor mange byttedyr som svømmer i havet.

flagTest prosjektet

Klikk på det grønne flagget.

Utfordring 6: Forandre spillet: Hold byttedyrene i live!

Av og til kan man få glimrende nye idèer ved å gjøre det motsatte av det man allerede har gjort.

Endre spillet slik at du i stedet kontrollerer et byttedyr i et hav av mange JafseFisker. Hvor lenge kan du holde det gående før du blir spist? I stedet for å bruke poeng kan du telle liv. Hva med å gi byttedyret 3 liv og avslutte spillet når de er brukt opp?

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!

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!