Straffespark
Skrevet av: Erik Kalstad og Geir Arne Hjelle
Introduksjon
Vi skal lage et enkelt fotballspill, hvor du skal prøve å score på så mange straffespark som mulig.
Steg 1: Katten og fotballbanen
Vi begynner med å lage en katt som kan bevege seg på en fotballbane.
Sjekkliste
-
når denne figuren klikkes gå (10) steg
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
-
når grønt flagg klikkes gå til x: (-180) y: (-30)
Lagre prosjektet
Du har nå skrevet et lite program! Scratch lagrer alt du gjør med jevne mellomrom. Det er likevel en god vane å lagre selv også innimellom.
Steg 2: Vi sparker ballen
Det neste vi trenger i spillet vårt er en ball!
Sjekkliste
-
når grønt flagg klikkes gå til x: (-125) y: (-60) vent til <berører [Leo v]?> gjenta for alltid gå (6) steg slutt
Test prosjektet
Klikk på det grønne flagget.
Steg 3: Vi trenger en keeper!
Vi skal nå gjøre spillet litt vanskeligere ved å programmere en keeper.
Sjekkliste
-
når grønt flagg klikkes gå til x: (100) y: (-50) pek i retning (0 v) gjenta for alltid gli (0.8) sekunder til x: (100) y: (-130) gli (0.8) sekunder til x: (100) y: (30) sprett tilbake ved kanten slutt
Det er et par nye klosser i dette skriptet. Les programmet nøye. Hva tror du de nye klossene gjør?
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
-
Legg klossen
sett størrelse til (100)%
inn igjenta for alltid
-løkka. Du kan nå eksperimentere med å endre100%
til et annet tall til du finner en passende størrelse på keeperen. Om du har brukt blekkspruten somKeeper
passer50%
ganske bra. Prøv deg frem!
Test prosjektet
Klikk på det grønne flagget.
Steg 4: Keeperen redder!
Nå er det på tide at keeperen redder ballen!
Vi skal nå lage noen tester som sier i fra når keeperen redder ballen, eller når ballen går i mål.
Sjekkliste
-
når grønt flagg klikkes gå til x: (-125) y: (-60) vent til <berører [Leo v]?> gjenta for alltid gå (6) steg hvis <berører [Keeper v]?> send melding [Redning v] ellers slutt slutt
I klossen
send melding [message1 v]
må du velgeNy melding
og deretter skrive innRedning
som meldingsnavn.
Meldinger er beskjeder som figurene i spillet kan sende seg i mellom uten at du egentlig ser det. Disse gjør det lett for flere figurer å reagere på ting som skjer.
-
når jeg mottar [Redning v] stopp [andre skript i figuren v] :: control
Et triks er å først skrive denne koden for
Ball
. Deretter kan du kopiere den tilKeeper
ved å dra koden tilKeeper
-figuren i figurvinduet nederst på skjermen.
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
Nå skal vi også sjekke om ballen har gått i mål. Vi gjør dette ved å undersøke hvor langt til høyre på skjermen ballen har beveget seg. Posisjonen til en figur i Scratch er beskrevet ved hjelp av koordinater: (x-posisjon)
sier hvor en figur er sidelengs på skjermen, mens (y-posisjon)
sier hvor langt opp eller ned på skjermen en figur er.
Rett under scenen kan du se to tall merket x
og y
. Disse viser koordinatene til musepekeren. De endrer seg automatisk når figuren flytter seg - og når du endrer dem så flytter figuren seg automatisk, også.
-
når grønt flagg klikkes gå til x: (-125) y: (-60) vent til <berører [Leo v]?> gjenta for alltid gå (6) steg hvis <berører [Keeper v]?> send melding [Redning v] ellers hvis <(x-posisjon) > [230]> send melding [Mål v] slutt slutt slutt
-
når jeg mottar [Mål v] stopp [andre skript i figuren v] :: control
-
når jeg mottar [Mål v] si [Ja, det ble mål!!] i (2) sekunder
Test prosjektet
Klikk på det grønne flagget.
Endre farten
Du kan gjøre spillet enklere eller vanskeligere ved å endre farten på ballen og hvor fort keeperen beveger seg. Begge disse er bestemt av tallet som står i gå () steg
-klossene til henholdsvis Ball
og Keeper
.
Prøv forskjellige tall for både fotballen og keeperen til du finner den kombinasjonen du liker best. Pass på at det blir litt vanskelig, men ikke umulig.
Steg 5: Førstemann til 10!
Vi skal tilslutt se på hvordan vi kan telle hvor mange mål som scores.
Sjekkliste
For å telle hvor mange mål du har scoret, og hvor mange redninger Keeper
har gjort, skal vi bruke variabler.
-
når jeg mottar [Mål v] endre [Mål v] med (1)
-
når jeg mottar [Redning v] endre [Redninger v] med (1)
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
Avslutningsvis vil vi legge inn en test på om Leo
klarer å score 10 mål eller Keeper
klarer å redde 10 ganger. Dette er litt omfattende.
-
når grønt flagg klikkes sett [Mål v] til [0] sett [Redninger v] til [0] bytt bakgrunn til [goal1] send melding [Nytt spark v]
-
når grønt flagg klikkes
med
når jeg mottar [Nytt spark v]
på både
Leo
,Ball
ogKeeper
. For eksempel, påLeo
blir skriptet seende slik ut:når jeg mottar [Nytt spark v] gå til x: (-180) y: (-30)
-
når jeg mottar [Mål v] endre [Mål v] med (1) vent (2) sekunder hvis <(Mål) < [10]> send melding [Nytt spark v] ellers bytt bakgrunn til [Seier v] stopp [alle v] :: control slutt
-
når jeg mottar [Redning v] endre [Redninger v] med (1) vent (2) sekunder hvis <(Redninger) < [10]> send melding [Nytt spark v] ellers bytt bakgrunn til [Tap v] stopp [alle v] :: control slutt
Test prosjektet
Klikk på det grønne flagget.
Lydeffekter
Du kan legge lydeffekter på spillet ditt ved å bruke klossene under Lyd
-kategorien. Prøv for eksempel å legge på lyder når ballen sparkes, når keeperen redder eller når det blir mål.
For å finne flere lyder å bruke i spillet ditt kan du velge Lyder
-fanen. Her kan du hente flere lyder fra Scratch-biblioteket eller til og med ta opp egne lyder. Eksperimenter og prøv deg frem!
Lagre spillet
Da er vi ferdige med Straffespark! Om du har noen ideer til hvordan du kan gjøre spillet enda morsommere så prøv dem selv!
Om du klikker Legg ut
vil prosjektet ditt bli lagt ut på Scratch-hjemmesiden slik at andre kan spille det!
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!