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
-
Start et nytt prosjekt, for eksempel ved å klikke
Programmeringi menyen. Hvis du allerede har startet et prosjekt kan du begynne på et nytt ved å velgeFilog deretterNy. -
Klikk på
ii hjørnet av kattefiguren, og gi katten navnetLeo. -
Klikk på
nederst
til venstre på skjermen for å hente inn en ny bakgrunn. Velg
bakgrunnen Utendørs/goal1ellerUtendørs/goal2. -
Vi skal nå skrive et lite program som flytter katten
Leonår vi klikker på ham. MerkLeoi figurvinduet nederst på skjermen, og klikkSkript-fanen slik at du ser de forskjellige kommandoklossene igjen. Pusle deretter sammen de følgende klossene i skriptvinduet til høyre:når denne figuren klikkes gå (10) steg
Test prosjektet
Klikk på det grønne flagget.
-
Flytter
Leopå seg når du klikker på ham? -
Hva skjer om du klikker mange ganger på
Leoslik at han når bort til kanten av scenen?
Sjekkliste
-
Du kan flytte
Leotilbake på skjermen ved å trykke på ham og dra ham dit du vil. -
Vi vil likevel programmere en enklere måte å få
Leotilbake på banen på. Lag et nytt skript, ved siden av det du allerede har laget, som ser slik ut:når grønt flagg klikkes gå til x: (-180) y: (-30) -
Nå vil
Leokomme tilbake på banen hver gang du klikker det grønne flagget rett over scenen.
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.
-
Over scenen er det et tekstfelt hvor du kan gi et navn til spillet ditt. Kall det for eksempel
Straffespark. -
I menyen
Filkan du velgeLagre nåfor å lagre prosjektet.
Steg 2: Vi sparker ballen
Det neste vi trenger i spillet vårt er en ball!
Sjekkliste
-
Vi skal nå legge til en ball-figur i spillet vårt. Klikk på
og velg fotballen Ting/Soccer Ball. -
Gi fotballen navnet
Ball. -
Lag ballen mindre ved først å trykke på
øverst mot midten av vinduet.
Deretter kan du trykke på ballen seks ganger. -
Vi skal nå skrive et litt lengre program. I dette programmet legger vi først fotballen på plass foran katten. Etter at ballen berører
Leo(det vil siLeosparker ballen) begynner ballen å bevege seg. Se om du kjenner igjen hvor i programmet de forskjellige tingene skjer:når grønt flagg klikkes gå til x: (-125) y: (-60) vent til <berører [Leo v]?> for alltid gå (6) steg slutt
Test prosjektet
Klikk på det grønne flagget.
-
Sparker
Leoballen når du klikker på ham? -
Kan
Leosparke ballen en gang til dersom du trykker det grønne flagget igjen? -
Hvis
Leosparker ballen før du klikker på ham (med en gang du trykker det grønne flagget), så må du endre litt på tallene igå til x: () y: ()-klossen slik at ballen ligger i ro foranLeo.
Steg 3: Vi trenger en keeper!
Vi skal nå gjøre spillet litt vanskeligere ved å programmere en keeper.
Sjekkliste
-
Legg til en figur til som kan være keeper. Vi har brukt
Dyr/Octopus, men du kan også bruke en annen figur om du vil. -
Flytt figuren inn i målet. Om det ser ut som figuren står med ryggen til ballen kan du snu den på følgende måte: Klikk på
Drakter-fanen, og deretter på snu-knappen som er merket med rødt i figuren under.
-
Gi figuren navnet
Keeper. -
Lag det følgende programmet for keeperen:
når grønt flagg klikkes gå til x: (100) y: (-50) pek i retning (0 v) for alltid gå (15) steg sprett tilbake ved kanten sluttDet 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.
-
Starter keeperen i målet?
-
Beveger
Keeperseg opp og ned på skjermen?
Sjekkliste
-
En ting som ser litt rart ut er at
Keeperikke ser på ballen. Vi fikser dette ved å legge til enbegrens rotasjon [vend sideveis v]-kloss helt i begynnelsen av skriptet vårt. -
Du synes kanskje at keeperen er litt stor? Vi har tidligere sett hvordan vi kan bruke
for å gjøre
figurer mindre. En annen måte å endre størrelsen på er ved å bruke
klosser fra Utseendet-kategorien.Legg klossen
sett størrelse til (100)%inn ifor 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 somKeeperpasser50%ganske bra. Prøv deg frem!
Test prosjektet
Klikk på det grønne flagget.
-
Ser keeperen i retning av
Leoog ballen? -
Hva skjer etter at katten skyter mot mål? Kan keeperen redde ballen?
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
-
Vi begynner med å finne ut når keeperen redder ballen. Klikk på
Ball. Legg til enhvis ellers-kloss i skriptet slik:når grønt flagg klikkes gå til x: (-125) y: (-60) vent til <berører [Leo v]?> for alltid gå (6) steg hvis <berører [Keeper v]?> send melding [Redning v] ellers slutt sluttI klossen
send melding [message1 v]må du velgeNy meldingog deretter skrive innRedningsom 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.
-
Vi vil nå at både ballen og keeperen skal slutte å bevege seg ved en redning. Legg til dette som et nytt skript på både
BallogKeeper:når jeg mottar [Redning v] stopp [andre skript i figuren v] :: controlEt triks er å først skrive denne koden for
Ball. Deretter kan du kopiere den tilKeeperved å dra koden tilKeeper-figuren i figurvinduet nederst på skjermen.
Test prosjektet
Klikk på det grønne flagget.
- Slutter både ballen og keeperen å bevege seg om keeperen redder?
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.

-
Vi sier at det har blitt mål om ballen går langt nok til høyre uten at den blir reddet. Om du prøver å peke på målstangen med musepekeren ser du at den står omtrent ved
xlik 160. Utvid skriptet på ballen videre slik at det blir seende slik ut:når grønt flagg klikkes gå til x: (-125) y: (-60) vent til <berører [Leo v]?> for alltid gå (6) steg hvis <berører [Keeper v]?> send melding [Redning v] ellers hvis <(x-posisjon) > [160]> send melding [Mål v] slutt slutt slutt -
På samme måte som for redning kan vi avslutte bevegelsen til
BallogKeeperved å lage dette skriptet på begge figurene:når jeg mottar [Mål v] stopp [andre skript i figuren v] :: control -
Vi kan også la
Leojuble litt når han scorer mål. Klikk på kattefiguren og gi ham følgende skript:når jeg mottar [Mål v] si [Ja, det ble mål!!] i (2) sekunder -
Lag et tilsvarende skript der
Leosier noe om at han er lei seg om det blir enRedning. Prøv dette på egen hånd!
Test prosjektet
Klikk på det grønne flagget.
-
Klarer du å score mål?
-
Klarer keeperen å redde noen skudd?
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.
-
Klikk på scenen til venstre for figurlisten.
-
Klikk på
Data-kategorien og lag en ny variabel. Gi den nye variabelen navnetMål. Legg merke til at det dukket opp en ny boks på scenen som er merketMål, og som viser tallet0. -
Vi vil nå telle målene. Lag et nytt skript som endrer
(Mål)hver gang meldingenMålsendes, ved å lage dette skriptet på Scenen:når jeg mottar [Mål v] endre [Mål v] med (1) -
Vi kan gjøre tilsvarende for å telle antall redninger. Lag en ny variabel som heter
(Redninger). -
Lag deretter et nytt skript for å telle redningene:
når jeg mottar [Redning v] endre [Redninger v] med (1)
Test prosjektet
Klikk på det grønne flagget.
-
Teller spillet hver gang du scorer mål?
-
Telles også hvor mange redninger keeperen gjør?
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.
-
Først vil vi lage to nye bakgrunner, en vi kan bruke om spilleren vinner (katten scorer 10 ganger) og en vi bruker om spilleren taper (keeperen redder 10 ganger). Klikk på
Bakgrunner-fanen. Høyreklikk på den lille versjonen av bakgrunnen din midt på skjermen og velgLag en kopi. -
Velg en passende farge, og klikk deretter på tekstverktøyet. Velg Skrifttype:
Markernederst på skjermen. Skriv en tekst som ligner påGratulerer, du vant!litt høyt på kopien av bakgrunnen. Gi denne bakgrunnen navnetSeier. -
Lag deretter en ny kopi av den originale bakgrunnen. Kall denne bakgrunnen
Tapog skriv også her en passende tekst. -
Lag et skript på bakgrunnen som setter variabelene dine til 0 ved begynnelsen av spillet.
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] -
Vi vil nå spille uten at vi må klikke på det grønne flagget for hver gang vi skal skyte et straffespark. Til dette bruker vi meldingen
Nytt spark. Vi må nå bytte utnår grønt flagg klikkesmed
når jeg mottar [Nytt spark v]på både
Leo,BallogKeeper. For eksempel, påLeoblir skriptet seende slik ut:når jeg mottar [Nytt spark v] gå til x: (-180) y: (-30) -
Til slutt legger vi på testen om vi har scoret 10 mål, eller om keeperen har reddet 10 ganger. Endre
Mål-skriptet på scenen slik at det blir seende slik ut: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 -
På samme måte endrer du
Redning-skriptet på scenen: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.
-
Får du skyte flere straffespark uten å måtte trykke på det grønne flagget mellom hver gang?
-
Bytter spillet til riktig bakgrunn om du scorer 10 mål?
-
Bytter spillet til riktig bakgrunn om keeperen redder 10 ganger?
-
Nullstilles målene og redningene når du klikker 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!


