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

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

Straffespark Introduksjon Scratch Lærerveiledning

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

Snake Expert Scratch PDF

Flaksefugl Nybegynner Scratch Lærerveiledning

Snøballkrig Ekspert Scratch Lærerveiledning

Gangemesteren Nybegynner Scratch PDF

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

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.

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

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

Hvor i All Verden? Del 3 Erfaren Scratch PDF

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

Spøkelsesjakten. Introduksjon

Steg 1: Katten og fotballbanen

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

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

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

King Kong Erfaren Scratch PDF

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

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

Enarmet banditt Nybegynner Scratch Lærerveiledning

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

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

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

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

Hvor i All Verden? Del 2 Erfaren Scratch PDF

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

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

Bursdag i Antarktis Nybegynner Scratch PDF

Halloweenimasjon Introduksjon Scratch PDF

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

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

3D-Flakser, Del 1 Ekspert Scratch PDF

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

Steg 1: Få Flakse til å falle

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

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

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

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

Steg 1: Bli kjent med spillet

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

Steg 1: Lag et flyvende spøkelse

Steg 1: JafseFisk følger musepekeren

Steg 1: Hvordan styre figurer med piltastene

Fyrverkeri Nybegynner Scratch Lærerveiledning

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

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

Flagg Erfaren Scratch Lærerveiledning

Steg 1: Hente grafikk fra nettet

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

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

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

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!

Steg 1: En første animasjon

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

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

Steg 1: Lag en figur som bytter drakt

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

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

Tegneprogram Journeyman Scratch PDF

Felix og Herbert Introduksjon Scratch PDF

Kanter, kanter, mange mangekanter

Flaksefugl. Introduksjon. Level

Lærerveiledning - Snøballkrig

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

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

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

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.

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon

Skilpaddefraktaler Erfaren Python PDF

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Sprettball Erfaren ComputerCraft PDF

Forberedelser: Last ned bildefiler

Steg 1: Lag en scene og legg til figurer

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Lærerveiledning - Straffespark

Steg 1: Felix følger musepekeren

Lærerveiledning - Snøballkrig

Steg 1: Endre bakgrunn og finne figurer

Forberedelser: Last ned bildefiler

Lærerveiledning - Lunar Lander

BRUKERMANUAL Digispiller

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

TDT4102 Prosedyreog objektorientert programmering Vår 2016

Lage en ny spillverden

Lærerveiledning - Snake

Bygge et hus. Steg 1: Vegger. Sjekkliste. Introduksjon

Frantic Felix Ekspert Scratch

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

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

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

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

Robotinvasjon Introduksjon ComputerCraft PDF

1. Programmering: Hva og hvorfor? Scratch fra scratch Enkel programmering for nybegynnere

Løpende strekmann Erfaren Videregående Python PDF

Steg 1: Piler og knappetrykk

På tide med et nytt spill! I dag skal vi lage tre på rad, hvor spillerne etter tur merker ruter med X eller O inntil en av spillerne får tre på rad.

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

Transkript:

Asteroids Ekspert Scratch 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 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 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.

Åpne Lunar Lander-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 endre x med 470 hvis x-posisjon > 235 endre x med -470 hvis y-posisjon < -175 endre y med 350 hvis y-posisjon > 175 endre y 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. 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 som klon 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. 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 sett størrelse til 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 skuddklonene 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 slett denne klonen 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 Forfatter: Geir Arne Hjelle