Asteroids. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Like dokumenter
Asteroids. Oversikt over prosjektet. Steg 1: Enda et flyvende romskip. Plan. Sjekkliste. Introduksjon

Snøballkrig. Introduksjon. Steg 1: En snøballkaster. Skrevet av: Geir Arne Hjelle

Breakout. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle og Martin Lie

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Steg 1: Katten og fotballbanen

Snøballkrig Ekspert Scratch Lærerveiledning

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Hoppehelt. Introduksjon. Steg 1: Streken. Sjekkliste. Skrevet av: Geir Arne Hjelle

Steg 1: Lag bakken og få den til følge med

Vi skal nå programmere et romskip som flyr rundt på skjermen. For å ha kontroll på bevegelsen vil vi bruke to variable, fartx og

Steg 1: Få Flakse til å falle

Snake Expert Scratch PDF

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Straffespark Introduksjon Scratch Lærerveiledning

Steg 1: Bli kjent med spillet

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

I dag skal vi lage et nyttig spill, nemlig et spill som hjelper oss å lære andre ting. Vi skal få hjelp til å lære gangetabellen!

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Steg 1: Hvordan styre figurer med piltastene

Lærerveiledning - Snøballkrig

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Lærerveiledning - Snøballkrig

Steg 1: Hente grafikk fra nettet

Astrokatt. Introduksjon. Steg 1: En flyvende katt. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Steg 1: Streken. Steg 2: En hoppende helt. Sjekkliste. Sjekkliste. Introduksjon. Hei der! Hoppehelt

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Flagg. Introduksjon. Steg 1: Gå i sirkel. Skrevet av: Sverre Oskar Konestabo og Geir Arne Hjelle

Steg 1: Lag et flyvende spøkelse

Steg 1: En første animasjon

Mesteparten av kodingen av Donkey Kong skal du gjøre selv. Underveis vil du lære hvordan du lager et enkelt plattform-spill i Scratch.

3D-Flakser, Del 1 Ekspert Scratch PDF

Flaksefugl Nybegynner Scratch Lærerveiledning

Steg 1: Lag en figur som bytter drakt

Steg 1: Få flere ting til å vise seg på tavlen

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle

JafseFisk. Introduksjon. Steg 1: JafseFisk følger musepekeren. Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk)

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Lærerveiledning - Lunar Lander

Gangemesteren Nybegynner Scratch PDF

Bursdag i Antarktis. Introduksjon. Steg 1: En katt på villspor. Sjekkliste. Skrevet av: Caroline Tandberg

Lærerveiledning - Snake

Lærerveiledning - Straffespark

Steg 1: Endre bakgrunn og finne figurer

Spøkelsesjakten. Steg 1: Lag et flyvende spøkelse. Sjekkliste. Introduksjon

King Kong Erfaren Scratch PDF

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Forberedelser: Last ned bildefiler

Hvor i All Verden? Del 2 Erfaren Scratch PDF

Halloweenimasjon Introduksjon Scratch PDF

Bursdag i Antarktis Nybegynner Scratch PDF

Lærerveiledning - Pong

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8

Steg 1: Lag en scene og legg til figurer

I denne oppgåva skal me lage eit enkelt spel der pingvinane har rømt frå akvariet i Bergen. Det er din (spelaren) sin jobb å hjelpe dei heim att.

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

Hva er det? Steg 1: Få flere ting til å vise seg på tavlen. Sjekkliste. Test prosjektet. Introduksjon

Legg merke til at at over de blå klossene er det flere kategorier av kommandoer i forskjellige farger, for eksempel

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Steg 1: JafseFisk følger musepekeren

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Forberedelser: Last ned bildefiler

Labyrint Introduksjon Scratch Lærerveiledning. Steg 1: Hvordan styre figurer med piltastene

Spøkelsesjakten. Introduksjon

Lærerveiledning - Flagg

Steg 2: La løvinnen og papegøyen bevege seg

Skrevet av: Oppgaven er laget av GDG Bergen ( AU/GDGBergen/), og tilpasset Kodeklubbens format på oppgaver.

Steg 1: Felix følger musepekeren

Steg 1: Piler og knappetrykk

Enarmet banditt Nybegynner Scratch Lærerveiledning

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere

PXT: Tikkende bombe. Introduksjon. Steg 1: Vi starter spillet. Skrevet av: Kolbjørn Engeland

Flaksefugl. Introduksjon. Level

Tegneprogram Journeyman Scratch PDF

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Flagg Erfaren Scratch Lærerveiledning

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Steg 1: Vi roterer en likebeint trekant

PXT: Bjelleklang. Introduksjon. Skrevet av: Kolbjørn Engeland, Julie Revdahl

PXT: Flasketuten peker på

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Start et nytt PXT-prosjekt, for eksempel ved å gå til makecode.microbit.org (

PXT: Spå fremtiden med bilder

Sprettball Erfaren ComputerCraft PDF

Felix og Herbert Introduksjon Scratch PDF

Fyrverkeri Nybegynner Scratch Lærerveiledning

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Frantic Felix Ekspert Scratch

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

Bygg En Skole. Lær hvordan du kan lage ditt eget dataspill i forbindelse med TV-aksjonen

Redd verden. Steg 1: Legg til Ronny og søppelet. Sjekkliste. Introduksjon

PXT: Det regnar mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes. Oversatt av: Stein Olav Romslo

Transkript:

Asteroids Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon På slutten av 1970-tallet ga Atari ut to spill hvor man skulle kontrollere et romskip. Det første var Lunar Lander, men dette ble utkonkurrert av Asteroids som Atari ga ut noen måneder senere. Spillene var faktisk så like at de kunne gjenbruke mye av teknologien. Vi skal gjøre det samme! Du må derfor ha laget Lunar Lander (../lunar_lander/lunar_lander.html) før du begynner på dette prosjektet. I Asteroids er målet å beskytte romskipet mot asteroider ved å skyte dem i småbiter. Oversikt over prosjektet Mesteparten av kodingen av Asteroids skal du gjøre selv (og noe har du allerede gjort). I Asteroids vil vi spesielt se på noen av måtene man kan gjenbruke kode i Scratch.

Plan Enda et flyvende romskip Romskipet kan skyte! Pass deg for asteroidene.. og andre utfordringer Steg 1: Enda et flyvende romskip I Lunar Lander (../lunar_lander/lunar_lander.html) laget vi et flott romskip. Nå skal vi se hvordan vi kan bruke det samme romskipet i dette prosjektet. Du vet sikkert at du kan Remikse andres Scratch-prosjekter. Du får da muligheten til å lage din egen versjon av noe andre har gjort, og spesielt kan du gjenbruke kode andre har skrevet tidligere. Nå skal vi se på et triks for å gjenbruke kode vi selv har laget tidligere. Ved å bruke Ryggsekken kan man kopiere figurer og kode mellom forskjellige prosjekter. Vi vil derfor først kopiere romskipet vi laget i Lunar Lander. Sjekkliste Åpne Lunar Lander (../lunar_lander/lunar_lander.html)-prosjektet ditt. Legg merke til at det står Ryggsekk helt nederst på skjermen. Klikk på Ryggsekk og et litt større felt skal åpne seg opp. Dra hele romskip-figuren din til den åpne ryggsekken. En kopi av romskip-figuren blir værende i ryggsekken. Start et nytt prosjekt ved å velge Ny i Fil -menyen. Slett kattefiguren og legg på en stjernebakgrunn.

Du kan nå dra romskip-kopien ut fra ryggsekken, og til figurvinduet i det nye prosjektet. Du vil nå se at alle draktene, alle variablene og alle skriptene til romskipet er kopiert over. Du kan rydde opp litt ved å slette skript som ikke har noe med kontrollen over romskipet å gjøre, for eksempel om du har et Sjekk landing - skript trenger vi ikke det i dette spillet. Legg et skript på scenen som sender en melding til romskipet om at det skal begynne å fly når det grønne flagget klikkes. Prøv spillet ditt. Kan du fly romskipet rundt omkring? Vi skal gjøre en liten forandring i hvordan romskipet oppfører seg. Asteroids foregår langt ute i rommet hvor det ikke er noen merkbar tyngdekraft. Slett derfor klossen som modellerer tyngdekraften i for alltid -løkken din, endre farty med -0.01. Vi skal også gjøre en litt større endring i spillet. Vi vil at verdensrommet skal føles litt stort og uoversiktlig ved at når romskipet går ut av skjermen på den ene siden skal det dukke opp på andre siden av skjermen. Dette gjør vi ved ganske enkle hvis -tester. Det vi må huske på er at x - koordinatene på skjermen går fra -240 til 240, mens y -koordinatene ligger mellom -180 og 180. Siden Scratch passer på at figurer ikke går helt av skjermen flytter vi dem litt innenfor skjermkanten:

når jeg mottar Nytt spill for alltid hvis x-posisjon < -235 endrex med 470 hvis x-posisjon > 235 endrex med -470 hvis y-posisjon < -175 endrey med 350 hvis y-posisjon > 175 endrey med -350 Steg 2: Romskipet kan skyte Romskipet vårt vil snart fly inn i en asteroidesverm, så vi må montere raketter som kan sprenge unna asteroidene. Sjekkliste Lag en ny figur som du kaller Skudd. Denne tegner du greit selv. Eventuelt finnes det for eksempel noen ball-figurer som kan brukes som kuler. Bruk en sett størrelse -kloss for at figuren skal bli passe stor. Legg også på en kloss for å skjule figuren. Vi vil bruke kloner slik at vi kan skyte flere skudd. Først trenger vi koden som lager en ny skuddklone når mellomromtasten trykkes: Lag et skript på skudd-figuren som starter på Nytt spill -meldingen. Skriptet kan bestå av en for alltid -løkke, hvor du tester på om mellomromtasten er trykket. Dersom et skudd skal avfyres kan du først la skuddet gå til romskipet og deretter peke i samme retning som romskipet. Dette siste kan du gjøre med en kombinasjon av pek i retning, retning av og vend -klosser. Til slutt kan du lage en klon av figuren.

For å passe på at bare en melding sendes ut hver gang mellomromtasten trykkes kan vi starte hvis -testen med å vente til mellomromtasten er sluppet igjen. Dette trikset ser omtrent slik ut: hvis tast mellomrom trykket? vent til ikke tast mellomrom trykket?... Nå skal vi kode oppførselen til skuddet etter at det er avfyrt. Det kan være ganske enkelt. Når skuddfiguren starter som klon må den vises, og deretter kan den flyttes i en løkke før den til slutt slettes. Eksperimenter med hastigheten og rekkevidden på skuddet ved å endre på hvor mange ganger løkka gjentas og hvor mange steg figuren går inne i løkka. Til slutt vil vi at også skuddene skal kunne forsvinne ut på den ene siden av skjermen og dukke opp igjen på den andre. Til dette vil vi bruke omtrent samme kode for romskipet. For å kopiere skript mellom figurer kan du bruke ryggsekken på samme måte som tidligere. En litt raskere metode er å bare dra skriptet du vil kopiere til den figuren du vil kopiere til. Kopier koden for å warp'e rundt skjermen fra romskipet til skudd-figuren. Vi kan nesten bruke denne koden som den er. Den eneste endringen vi trenger å gjøre er at den skal starte på når jeg starter somklon i stedet for på når jeg mottar Nytt spill, siden denne oppførselen skal gjelde for alle skuddklonene. Prøv spillet ditt. Nå skal du kunne fly rundt i verdensrommet mens du skyter. Steg 3: Pass deg for asteroidene Da er det på tide å lage en asteroidesverm. Noe av det som er kult med Asteroids er at asteroidene blir skutt i småbiter når de treffes, og man må fortsatt passe seg for og skyte disse mindre asteroidene. Vi vil kode dette ved å bruke kloner i forskjellige størrelser. Sjekkliste

Lag en asteroidefigur. En måte å gjøre dette på er å tegne en ny figur med vektorgrafikk. Start med en enkel firkant, og bruk deretter Bøy -verktøyet for å legge til flere hjørnepunkter og flytte dem rundt som i figuren under. Også for asteroidene vil vi bruke kloner. Lag et skript som skjuler figuren og lager et par asteroide-kloner tilfeldige steder på skjermen når det mottar Nytt spill -meldingen. Når figuren starter som klon vil vi først at den peker i en tilfeldig retning og deretter vises. Videre kan den gå inn i en løkke som gjentas til figuren berører romskipet. Inne i løkken lar du først asteroiden gå noen steg. Deretter må du teste om asteroiden berører et skudd. Hvis den gjør det kan du lage asteroiden mindre med en kloss som ligner settstørrelsetil størrelse / 2 % Hvis størrelsen fortsatt er større enn for eksempel 10 kan du lage et par nye kloner av denne mindre asteroiden. Til slutt kan du slette denne klonen uansett hva størrelsen er. Legg på en melding eller en stopp -kloss slik at spillet kan avsluttes etter at gjenta til -løkken avsluttes, siden romskipet da har krasjet i en asteroide.

Også asteroidene skal kunne fly ut av skjermen på en side og dukke opp på en annen. Kopier derfor skriptet som fikser dette fra skudd-figuren på samme måte som tidligere. Til slutt vil vi også slette skudd-klonene når de treffer asteroidene. Her må vi være litt forsiktig så vi ikke sletter skudd-klonene før asteroidene merker at de er truffet. Dette kan vi fikse ved å legge inn en ørliten forsinkelse. Du kan for eksempel legge inn kode som dette i løkka som flytter skudd-figuren: hvis berører Asteroide? vent 0.01 sekunder slettdenneklonen Steg 4: Videreutvikling av spillet Du har nå laget en enkel variant av Asteroids. Men prøv å gjøre spillet morsommere ved å videreutvikle det. Du bestemmer selv hvordan du vil jobbe videre, men nedenfor er noen ideer som kanskje kan være til inspirasjon? Ideer til videreutvikling Gi poeng når spilleren treffer en asteroide. Man burde kanskje få flere poeng for å treffe de små asteroidene? Det kan du fikse med en utregning omtrent som avrund 100 / størrelse Dersom du plasserer asteroidene helt tilfeldig når et nytt spill starter er det ganske sannsynlig at romskipet krasjer i en asteroide allerede før spillet har begynt. Det er ikke noe moro. En måte å fikse det på vil være å først la asteroideklonen gå til romskipet, men deretter peke i en tilfeldig retning og gå 100 til 200 steg før det til slutt vises. Spillet ser litt kulere ut om du tegner flere asteroidedrakter, og velger en av dem tilfeldig når en klon lages.

Dersom man klarer å skyte ned alle asteroidene burde man komme videre til et vanskeligere nivå. Kanskje med flere asteroider? Eller med asteroider som beveger seg raskere? Eller deler seg i flere deler når de blir skutt? For å vite når du kan gå videre til et nytt nivå må du telle hvor mange asteroider som flyr rundt. Lag derfor en variabel Antall asteroider som du øker med 1 når en asteroide starter som klon. Deretter må variabelen minke med 1 når klonen slettes. Videre bruker du en Nivå -variabel som holder styr på hvilket nivå spilleren har kommet til. I det originale Asteroids-spillet dukket det også opp en flyvende tallerken (UFO) innimellom. Denne måtte man også passe seg for, men i motsetning til asteroidene kunne UFOen skyte tilbake. Prøv å legg til en slik UFO i spillet ditt! Lisens: CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0/deed)