Redd verden
Skrevet av: Shayan Zeida og Arne Hassel
Introduksjon
Kildesortering er viktig for å begrense hvor mye avfallet vårt påvirker miljøet. I dette spillet skal vi kildesortere og samtidig lære en hel del om meldinger i programmering.
Steg 1: Legg til Ronny og søppelet
Vi starter spillet med å introdusere Ronny, som er vår hjelper underveis, og søppelet som vi skal kaste.
Sjekkliste
-
I første omgang vet ikke Ronny om noe av søppelet, så vi lar Ronny sette både poeng og mål til null. For å legge til variabler trykker vi på
Data
-kategorien og trykk påLag en Variabel
.når @greenFlag klikkes sett [Mål v] til [0] sett [Poeng v] til [0]
-
når @greenFlag klikkes gå til x: (78) y: (5)
Søppel-figurene må ha hver sin plass, så det er viktig at du finner noen x- og y-koordinater for hver av dem.
Test prosjektet
Steg 2: Sett opp spillet
Ronny trenger å vite hvor mange søppel-figurer som er på brettet. For å finne ut av det, så ber vi om hjelp fra søppel-figurene selv.
Sjekkliste
-
når @greenFlag klikkes sett [Mål v] til [0] sett [Poeng v] til [0] send melding [Forbered spill v]
-
når jeg mottar [Forbered spill v] endre [Mål v] med (1)
-
når @greenFlag klikkes sett [Mål v] til [0] sett [Poeng v] til [0] send melding [Forbered spill v] si [Hei, jeg heter Ronny, kan du hjelpe meg med å redde verden?] i (3) sekunder send melding [Start spill v] si [Vi må sortere avfallet til hver sin kilde, kan du hjelpe meg med det?] i (3) sekunder
Test prosjektet
Klikk på det grønne flagget.
Utfordring
-
Ronny har flere drakter som viser han blid og sur. Klarer du å bytte drakt på Ronny når han snakker, og tilbake når han er ferdig med å snakke?
-
Istedenfor snakkebobler, klarer du spille inn din egen stemme? Hint: Bruk blokken under.
spill lyden [opptak 1 v] til den er ferdig
Steg 3: Start spillet
Nå som vi vet antall poeng vi skal nå, kan vi sette opp bøttene våre.
Sjekkliste
-
når @greenFlag klikkes skjul
når jeg mottar [Start spill v] vis
-
når @greenFlag klikkes skjul gå til x: (78) y: (5)
når jeg mottar [Start spill v] vis
Test prosjektet
Klikk på det grønne flagget.
Steg 4: Sortering
Nå må vi få til poeng-giving når vi flytter søppel-bitene opp i bøttene.
Sjekkliste
-
når denne figuren klikkes gjenta til <berører [Mat v] ?> gå til [musepeker v] slutt
-
når denne figuren klikkes gjenta til <berører [Mat v] ?> gå til [musepeker v] slutt endre [Poeng v] med (1) skjul
Test prosjektet
Klikk på det grønne flagget.
Utfordring
-
Klarer du å avslutte flyttinga hvis du flytter søppelet til feil bøtte? Kanskje til og med få Ronny sur hvis feil bøtte brukes?
Steg 5: Avslutt spillet
Når vi har fått alt søppelet på plass, må vi avslutte spillet.
Sjekkliste
-
når @greenFlag klikkes sett [Mål v] til [0] sett [Poeng v] til [0] send melding [Forbered spill v] si [Hei, jeg heter Ronny, kan du hjelpe meg med å redde verden?] i (3) sekunder send melding [Start spill v] vent til <(Poeng) = (Mål)> send melding [Spill ferdig v] si [Takk for at du hjelper meg med å redde verden!]
-
Da kan vi for eksempel fortelle bøttene at de skal skjule seg selv når spillet er ferdig.
når jeg mottar [Spill ferdig v] skjul
-
Vi valgte
water and rocks
fra biblioteket, men det er bare å velge noe du syns er finere, evt lage noe selv. -
når jeg mottar [Spill ferdig v] bytt bakgrunn til [water and rocks v]
Test prosjektet
Klikk på det grønne flagget.
Utfordring
-
Klarer du å sette en tredje bakgrunn når det grønne flagget klikkes? Husk at vi vil fortsatt ha kjøkkenbakgrunn når søppel-figurene skal flyttes.
-
Klarer du å forandre draken til Ronny for å vise hvor glad han blir når du har reddet verden?
Hva har vi lært?
I dette spillet har vi lært hvordan vi kan bruke meldinger til å bryte opp spillet i mange små biter. Mindre biter gjør programmet vårt mindre usikkert, og lettere å få oversikt over hvis noe går galt.
I tillegg lærte vi å dele ansvaret på flere figurer. Ronny hadde ansvaret for å holde oversikt på poengene, men fikk hjelp av søppel-figurene til å finne ut hvor mange søppel-biter som fantes. Dette er også et viktig prinsipp i programmering, nemlig fordeling av ansvar.
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!