Et lite julespill i Scratch

Nissen har rotet seg inn i storbyen, og må prøve å unngå å krasje inn de høye bygningene. Dette spillet er inspirert av Flappy Bird, og kan enkelt utvides til å bli langt mer komplisert. I denne oppskriften finner du ikke alle kodeblokkene. Les teksten nøye, da skjønner du hva som skal skje.

Kompetansemål matematikk etter 5.trinn:
– lage og programmere algoritmer med bruk av variabler, vilkår og løkker

Steg 1 – Kikk på spillet
Før elevene begynner kan det være viktig å prøve spillet, slik at elevene vet hva som skal lages. Da får de en ide om hva som skal skje. Spillet finner du på https://scratch.mit.edu/projects/611944743

Steg 2 – Dekomponer
Bli enig med elevene om hvilke bestanddeler spillet skal bestå av. Husk at det ikke nytter å programmere alt med en gang, men at en må ta en del om gangen.

Steg 3 – Bakgrunn
Finn en passende bakgrunn i biblioteket, eller lag din egen bakgrunn. Jeg har laget min egen bakgrunn ved å tilpasse fargen og formen på en rekke rektangler.

Steg 4 – Figurer
La oss begynne med å fjerne katten. Den trenger vi ikke. I stedet kan dere laste inn nissen med slede som jeg har brukt. Den kan du laste ned her.

Når du har fått nissen på plass, endre størrelsen på nissen og slede slik at de ikke tar for stor plass på skjermen.

Vi trenger også bygningene fra biblioteket. Denne figuren er veldig fin, da den har mange ulike drakter som gir oss en variasjon både i utseende og størrelse når nissen flyr gjennom byen.

Steg 5 – Få nissen til å fly
Da skal vi begynne å programmere litt. Vi skal få nissen til å fly. Han skal stige oppover for hver gang vi trykker på mellomromstasten. Ellers skal nissens slede synke mot bakken. Verdiene må du teste ut underveis.

For å få det til å se ut som nissen virkelig stiger og synker, skal vi legge inn en retningsforandring på nissen. Når han stiger skal figuren peke i retning oppover, mens når han synker skal figuren peke nedover.

Test med forskjellige verdier i «pek i retning» – blokken. Her er det rom for personlige preg. Test underveis.

Steg 6 – Legg inn litt tyngdekraft
I Flappy Bird daler fuglen mot bakken når du ikke trykker på mellomromstasten. Det skjer også med nissen og sleden. Så vi får legge på plass litt tyngdekraft som gjør at sleden faller mot bakken når du ikke trykker på mellomromstasten.

Denne koden skal starte når spillet starter, altså det grønne flagget trykkes. Det første som må gjøres er å plassere nissen på et fast sted slik at den alltid begynner på det samme stedet. Jeg har valgt å plassere ham litt mot venstre, men dette bestemmer du selv. Ved å plassere den til venstre har jeg tid til å forberede meg på eventuelle hindringer som måtte dukke opp.

Deretter legger vi inn litt tyngdekraft. Vi bruker blokken som endrer figurens y-koordinat med en viss verdi, og legger den inn i en løkke som gjør at den gjentas for alltid.

Steg 7 – Test
På tide å teste at koden fungerer, og at nissen flyr når du trykker på mellomromstasten, og faller mot jorden når du ikke gjør noe som helst.

Steg 8 – Vise fram bygningene
I Flappy birds kommer stolpene til syne i høyre del av bildet, og de beveger seg mot venstre. Dette gjør at det ser ut som om fuglen flyr framover og møter stolpene.

På samme måte skal vi hente fram bygningene og flytte dem fra høyre mot venstre i bildet.

Vi velger å skjule figuren som inneholder bygningene når det grønne flagget trykkes, og hente den fram som en kloning. Dette skal skje hele tiden, men med et gitt tidsinterval.

Tidsintervallet må du teste ut. Jo kortere intervall, jo raskere kommer bygningene. I denne løkken kan en også legge inn blokken «neste drakt» slik at får en ny bygning for hver gang løkken kjøres.

Du må sikkert inn å justere størrelsen på byggingene også. Dette kan enten gjøres på figuren eller med en blokk.

Når bygningen starter som klon, må vi først plassere den helt ute på høyre side av lerretet. Her må du justere y-verdien etter bakgrunnen din, slik at bygningene ikke havner i løse luften. Deretter viser vi den fram.

Da er det på tide å få bygningen til å bevege seg fra høyre mot venstre. Dette kan gjøres på flere måter, men vi flytter den noen få steg på x-aksen for hver gang, og vi legger selvfølgelig dette inn i en løkke.
Om du ønsker at den skal gå fortere, så setter du x-verdien høyere. Da må du gå ned på antall repetisjoner. Og motsatt om du vil den skal gå høyere.

Når den er kommet helt over, sletter du klonen.


Steg 9 – Test
La oss teste om spillet virker.
– kan nissen fly som ønsket?
– beveger bygningene seg fra høyre mot venstre som ønsket?
– kommer det forskjellige bygninger fram?

Steg 10 – poeng
I alle gode spill får du poeng når du gjør en god jobb. Det må vi også få til, så vi oppretter en variabel som vi kaller «Poeng». Denne må gjelde for alle figurer, og vi setter den til «0» når vi trykker på det grønne flagget.

Men når skal nissen få poeng? Det må jo bli hver gang han kommer forbi en bygning. For å få dette til, må vi teste på x-verdien til både nissen og bygningen, og se når de passerer hverandre.

Denne koden legger vi inn på bygningene, og skal skje hver gang en bygning starter som klon:

Den siste delen av «vent til» blokken er litt vanskelig å finne. Under sansing finner du en blokk som ligner, men du må endre den litt for å få den korrekt. Først velger du nissen og deretter får du opp «x-posisjon».

Test nå om nissen får poeng hver gang han passerer en bygning.

Steg 11 – men hva om nissen krasjer?
Vi må selvsagt legge inn noen kontroller i programmet. Nissen kan jo ikke krasje inn i bygningene eller fly så høyt at han forsvinner ut av bildet. Han kan heller ikke krasje i bakken. Vi må legge inn noen kontroller, som avslutter spillet om dette skjer.

Disse kontrollene må vi selvsagt legge på nissen, og de skal starte når spillet starter. Vi bruker en «vent»-blokk, som ligger og venter på at noe skal skje. I dette tilfellet at nissen berører bygningene eller kanten.

Når dette skjer, kan du kanskje legge inn en lyd av noe som krasjer, en melding om hva som er skjedd, og tilslutt stoppe alle skript i programmet. Kanskje vil du skjule nissefiguren når det skjer, eller bytte til en drakt med skadet nisse. Du bestemmer, men husk å bytte tilbake når du starter spillet igjen.

Steg 12 – Tid for å teste spillet
Da er det tid for å teste det ferdige spillet. Fungerer alt som forventet? Gjør eventuelle endringer du mener trengs for at spillet skal fungere enda bedre.

Utvidelser
Nå har vi laget et standard spill, men kanskje du har tid til å utvide det litt? Her er noen ideer:
– la det komme flygende pakker mot nissen, og gi ham ekstra poeng om han klarer å fange dem
– endre farten på bygningene etter hvert som poengene stiger
– legg på en startside som forteller hva som skal skje
– legg på en avslutningsside som forteller om hva som har skjedd (The End, Game Over, Poengsum)
– legg inn «helse/liv» på nissen, slik at kan krasje 3 ganger før han er ute

Kommentarer er stengt.

Blogg på WordPress.com.

opp ↑

%d bloggere liker dette: