Norgestur
Skrevet av: Geir Arne Hjelle
Introduksjon
Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over Norge, mens du prøver å raskest mulig finne steder og byer du blir bedt om å besøke.
Steg 1: Et norgeskart
Vi legger først inn et norgeskart som en bakgrunn. Dette vil vi senere bruke helikopteret til å besøke.
Sjekkliste
Norgeskart
Det finnes mengder av kart på internett. Det kartet vi bruker i denne oppgaven er laget av Kartverket og delt slik at alle kan bruke det til hva de ønsker. Bakerst i denne oppgaven beskrives hvordan du kan bruke andre kart.
Steg 2: Styr helikopteret
Vi skal nå lage et helikopter som vi kan styre rundt over kartet. Vi begynner med å programmere et skript som lar oss kontrollere helikopteret med piltastene.
Sjekkliste
-
når grønt flagg klikkes sett størrelse til (25) % gå til x: (0) y: (0)
-
når grønt flagg klikkes sett størrelse til (25) % gå til x: (0) y: (0) gjenta for alltid hvis <tast [pil opp v] trykket?> pek i retning (0 v) gå (2) steg slutt slutt
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
Vi skal nå programmere de andre piltastene også.
-
når grønt flagg klikkes sett størrelse til (25) % gå til x: (0) y: (0) gjenta for alltid hvis <tast [pil opp v] trykket?> pek i retning (0 v) gå (2) steg slutt hvis <tast [pil høyre v] trykket?> pek i retning (90 v) gå (2) steg slutt hvis <tast [pil ned v] trykket?> pek i retning (180 v) gå (2) steg slutt hvis <tast [pil venstre v] trykket?> pek i retning (-90 v) gå (2) steg slutt slutt
Test prosjektet
Klikk på det grønne flagget.
Utfordring: Hastighetsvariabel
Hvis du ser i skriptet så har vi gjentatt tallet 2
hele fire ganger. Dette gjør det vanskeligere for oss om vil endre hvor fort helikopteret beveger seg.
Hvis du vil kan du prøve å lage en ny variabel som heter hastighet
. Deretter kan du sette denne variabelen lik 2 etter at det grønne flagget klikkes. Til slutt kan du bytte ut gå 2 steg
-klossene med gå
hastighet
steg
-klosser.
Steg 3: Legg til et reisemål
Nå som helikopteret kan fly rundt omkring i Norge kan vi gi spilleren et mål med reisen.
Sjekkliste
-
når grønt flagg klikkes send melding [Sted: Hønefoss v] når jeg mottar [Sted: Hønefoss v] gå til x: (6) y: (-112) vent til <berører [Helikopter v]?> si [Fant Hønefoss!] i (2) sekunder
Legg merke til at i
gå til
-klossen bruker vi samme koordinater som de vi fant ovenfor. Det betyr at om du bruker ditt eget reisemål må du bytte disse tallene med de du fant.
Test prosjektet
Klikk på det grønne flagget.
Steg 4: Et nytt reisemål
La oss legge til et nytt reisemål vi kan reise til etter å ha besøkt det første!
Sjekkliste
-
når jeg mottar [Sted: Hønefoss v] gå til x: (6) y: (-112) vent til <berører [Helikopter v]?> si [Fant Hønefoss!] i (2) sekunder send melding [Sted: Tromsø v] når jeg mottar [Sted: Tromsø v] gå til x: (103) y: (121) vent til <berører [Helikopter v]?> si [Fant Tromsø!] i (2) sekunder
Bruk dine egne koordinater (og navn) også for det andre reisemålet.
Test prosjektet
Klikk på det grønne flagget.
Steg 5: Skjul reisemålene
Foreløpig er ikke spillet veldig vanskelig: Alt du behøver å gjøre er å styre helikopteret til den røde sirkelen. For å lage et skikkelig spill vil vi skjule den røde sirkelen, og heller bare fortelle spilleren til hvilket sted hun skal fly!
Sjekkliste
Vi vil først fortelle spilleren hvor han skal fly.
-
når jeg mottar [Sted: Hønefoss v] gå til x: (6) y: (-112) sett [Reis til v] til [Hønefoss] vent til <berører [Helikopter v]?> si [Fant Hønefoss!] i (2) sekunder send melding [Sted: Tromsø v]
-
når jeg mottar [Sted: Tromsø v] gå til x: (103) y: (121) sett [Reis til v] til [Tromsø] vent til <berører [Helikopter v]?> si [Fant Tromsø!] i (2) sekunder
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
Vi er nå klare til å skjule den røde sirkelen. Vi prøver først det enkleste og mest opplagte:
-
når grønt flagg klikkes skjul send melding [Sted: Hønefoss v]
Test prosjektet
Klikk på det grønne flagget.
Hmm ... spillet oppdager ikke lengre at vi reiser til Hønefoss. Problemet er at siden vi skjuler sirkelen vil den ikke lengre berøre Helikopter
-figuren. Vi må finne en annen måte å gjøre sirkelen usynlig på!
Sjekkliste
-
når grønt flagg klikkes vis sett [gjennomsiktig v] effekt til (100) send melding [Sted: Hønefoss v]
Vi har også lagt til en
vis
-kloss for å være på den sikre siden (vi har jo oppdaget at spillet ikke virker omSted
-figuren er skjult).
Test prosjektet
Klikk på det grønne flagget.
Steg 6: Vis reisemålet etter at det blir funnet
Det vil være kult å vise spilleren hvor reisemålet faktisk er etter at hun har funnet det!
Sjekkliste
-
når jeg mottar [Sted: Hønefoss v] gå til x: (6) y: (-112) sett [Reis til v] til [Hønefoss] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent send melding [Sted: Tromsø v] når jeg mottar [Sted: Tromsø v] gå til x: (103) y: (121) sett [Reis til v] til [Tromsø] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent
-
når jeg mottar [Fant sted v] sett [gjennomsiktig v] effekt til (0) stemple avtrykk sett [gjennomsiktig v] effekt til (100)
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
-
når grønt flagg klikkes slett vis sett [gjennomsiktig v] effekt til (100) send melding [Sted: Hønefoss v]
-
når jeg mottar [Fant sted v] start lyden [rattle v] sett [gjennomsiktig v] effekt til (0) stemple avtrykk sett [gjennomsiktig v] effekt til (100)
Test prosjektet
Klikk på det grønne flagget.
Steg 7: Tiden går
Vi skal nå gjøre spillet enda mere utfordrende ved å legge på en tidsbegrensning.
Sjekkliste
-
når grønt flagg klikkes sett [Tid v] til [30] gjenta til <(Tid) = [0]> vent (1) sekunder endre [Tid v] med (-1) slutt send melding [Avslutt v]
Legg merke til at vi også sender ut en ny melding
Avslutt
når tiden er ute. Denne bruker vi til å avslutte spillet. -
når jeg mottar [Avslutt v] stopp [alle v] :: control
Test prosjektet
Klikk på det grønne flagget.
Sjekkliste
Som en bonus kan vi også gi spilleren litt ekstra tid hver gang han finner et reisemål.
-
når jeg mottar [Fant sted v] endre [Tid v] med (10)
Steg 8: Flere steder å besøke
Til sist vil vi legge til litt flere steder å besøke for å gjøre spillet mer spennende!
Sjekkliste
For å legge til nye steder må vi bare gjøre det samme som vi gjorde tidligere i oppgaven (under Steg 3 og 4). Det enkleste er å kopiere kodeklossene vi allerede har lagd, og deretter endre på dem.
-
når jeg mottar [Sted: Hønefoss v] gå til x: (6) y: (-112) sett [Reis til v] til [Hønefoss] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent send melding [Sted: Tromsø v] når jeg mottar [Sted: Tromsø v] gå til x: (103) y: (121) sett [Reis til v] til [Tromsø] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent send melding [Sted: Lillehammer v] når jeg mottar [Sted: Lillehammer v] gå til x: (14) y: (-94) sett [Reis til v] til [Lillehammer] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent send melding [Sted: Bergen v] når jeg mottar [Sted: Bergen v] gå til x: (-52) y: (-107) sett [Reis til v] til [Bergen] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent send melding [Sted: Narvik v] når jeg mottar [Sted: Narvik v] gå til x: (91) y: (90) sett [Reis til v] til [Narvik] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent send melding [Avslutt v]
Test prosjektet
Klikk på det grønne flagget.
Lagre prosjektet
Da er norgesturen vår ferdig!
Du kan nå utfordre venner og familie til å reise rundt omkring i Norge sammen med deg! Hvis du vil dele spillet på internett kan du trykke Legg ut
øverst til høyre på skjermen.
Flere utfordringer
Det er alltid muligheter til å utvide spill, nedenfor har vi noen forslag som du kan prøve deg på!
Utfordring: Enda flere reisemål
Det er ingen begrensning på hvor mange reisemål du kan legge til i spillet. Har du reisemål fra alle deler av landet? Kanskje du kan besøke et sted i hvert fylke i Norge?
Utfordring: En skikkelig avslutning
Slik spillet er nå bare slutter helikopteret å fly enten når tiden er ute eller når spilleren har funnet alle reisemålene. Kan du legge til en skikkelig avslutning? Denne bør gi spilleren tilbakemelding på om hun vant ved å finne alle reisemålene eller tapte fordi tiden var ute.
En måte å gjøre dette på vil være å lage to nye meldinger Vant
og Tapte
som sendes i stedet for Avslutt
henholdsvis etter at siste reisemål er funnet, og etter at tiden er ute. Du kan så lage to nye bakgrunner ved å kopiere norgeskartet, og deretter skrive en passende tekst på de nye bakgrunnene. Disse kan så vises etter at spillet er enten vunnet eller tapt.
Utfordring: Reisemål i tilfeldig rekkefølge
Dette er en skikkelig utfordring! Slik det er nå kommer reisemålene alltid i samme rekkefølge, kan du gjøre det slik at rekkefølgen blir tilfeldig?
Det finnes ingen måte å sende ut tilfeldige meldinger i Scratch. Det vi i stedet kan gjøre er å tilfeldig bestemme om vi skal be spilleren reise til et reisemål, eller bare gå videre til neste reisemål uten å spørre.
-
definer sjekk sted hvis <<(tilfeldig tall fra (1) til (Antall steder totalt)) > [1]> eller <berører fargen [#ff0000]?>> sett [bruk sted v] til [nei] ellers sett [bruk sted v] til [ja] slutt når jeg mottar [Sted: Hønefoss v] gå til x: (6) y: (-112) sjekk sted hvis <(bruk sted) = [ja]> sett [Reis til v] til [Hønefoss] vent til <berører [Helikopter v]?> send melding [Fant sted v] og vent slutt send melding [Sted: Tromsø v]
Klossen
berører fargen
brukes for å sjekke om vi allerede har besøkt et reisemål. I såfall vil vi jo ha stemplet rødfarge på kartet.
Hvordan lage egne kart
Til sist vil vi se på hvordan du kan reise rundt i egne kart eller andre kart som du finner på internett.
Sjekkliste
Opphavsrett
Noen har laget de kartene du finner på internett, og som regel vil de ha opphavsretten til disse kartene. I praksis betyr det at de eier kartene. Det betyr at dersom du vil bruke kartene i et spill du gjør tilgjengelig for andre (bruker Legg ut
-knappen i Scratch), må du undersøke om dette er greit for de som har laget kartene.
Mye materiell på internett, inkludert kartet vi har brukt i denne oppgaven, er lagt ut med en såkalt lisens som kan si at du kan bruke materiellet så lenge du referer til dem som opprinnelig lagde materiellet. Dette er lett å gjøre i Scratch. Klikk på Se prosjektsiden
øverst til høyre. Du kommer da til en side hvor du kan beskrive prosjektet. En av boksene heter Merknader og bidragsytere
. Her kan du nevne dem som opprinnelig har laget for eksempel kartet du bruker.
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!