Krabbeangrep! Remiks
Skrevet av: Gudbrand Tandberg
Introduksjon
Denne uken skal vi gjøre noe litt annerledes. I stedet for å lage et spill fra bunnen av skal vi remikse et eksisterende spill. Vi skal lære hvordan vi kan gjøre et spill mer komplett ved å blant annet legge til en meny som styrer spillflyten, og som lar oss spille flere ganger. Spillet vi skal remikse heter Krabbeangrep! og det går ut på at spilleren styrer en kanon som skal forsvare jorden mot et intergalaktisk krabbeangrep! Kanonen skyter kuler som tar knekken på krabbene og får poeng når den treffer.
Steg 1: Bli kjent med spillet
Før vi begynner å kode noe som helst skal vi bli litt kjent med spillet som det er.
Sjekkliste
Test prosjektet
Klikk på det grønne flagget.
Steg 2: Vi lager en meny, del I
Nå skal vi lage en meny som dukker opp når spillet starter og når spillet er slutt. Menyen skal i første omgang være veldig enkel, alt som skal være der er en startknapp.
Se nøye på skissen under før du går videre. Her ser du hvordan flyten i spillet skal være. Flyten i spillet skal styres gjennom meldinger som sendes mellom figurene. Hver gang noe nytt skal skje, som for eksempel et nytt spill skal startes, eller at menyen skal vises etter spillet er tapt skal det sendes en melding.
Sjekkliste
Steg 3: Vi lager en meny, del II
Som spillet er nå så startes det når man trykker på det grønne flagget. Nå vil vi at hovedmenyen skal dukke opp når vi trykker på det grønne flagget, og at spillet skal starte når man trykker på Startknapp figuren.
Se mottakere
Du kan sjekke hvem som mottar en bestemt melding ved å høyreklikke på en meldingskloss og klikke på vis sendere
og vis mottakere
. Da vil de som sender/mottar akkurat den meldingen få en ramme rundt seg i figurområdet.
Sjekkliste
-
når grønt flagg klikkes send melding [hovedmeny v] Når jeg mottar [hovedmeny v] bytt bakgrunn til [Hovedmeny v]
-
når grønt flagg klikkes skjul når jeg mottar [hovedmeny v] gå til x: (0) y: (0) vis når denne figuren klikkes send melding [nytt spill v]
Test prosjektet
Klikk på det grønne flagget.
Lagre prosjektet
Nå er vi ferdig med å fortelle deg hva du skal gjøre. Resten av tiden kan du bruke på en eller flere av utfordringene nedenfor.
Utfordring: Vis poengsummen når spillet er ferdig
Nå som spillet har en god start kan du prøve å gi det en god slutt også. I denne utfordringen er målet å gjøre det siste steget i spillflyt-tegningen ovenfor. Du legger kanskje merke til at scenen har et skript som starter med Når jeg mottar treff
, og at her sendes meldingen tapte
hvis spilleren ikke har flere liv igjen? Det er ingen som mottar denne meldingen! Gi de andre figurene skript som reagerer på denne meldingen. En av figurene kan for eksempel si hvor mange poeng spilleren fikk i noen sekunder og så kan spillet gå tilbake til hovedmenyen.
Utfordring: Lag flere typer angripere
Spillet heter jo Krabbeangrep!, men det kan jo hende at det finnes andre romvesener som vil angripe jorden! Du kan gi Romvesen-figuren flere drakter som tilsvarer andre typer angripere. Klarer du å gjøre det slik at man får høyere poengsum om man skyter noen romvesener enn for andre? Da må du gjøre endringer i skriptet til scenen som lytter etter meldingen treff!
. Du kan jo også gi Godbit-figuren flere drakter som man får flere poeng for å samle.
Utfordring: Flere elementer i menyen
Hva med å legge til flere knapper i menyen? Kanskje en knapp som heter Hjelp
som når du trykker på den tar deg til en bakgrunn hvor det står hvordan man spiller spillet? Her må du huske på å ha en tilbake
-knapp så man kommer seg tilbake til menyen etter man har lært seg spillet.
Utfordring: Gjør spillet vanskeligere
Akkurat nå er spillet ganske enkelt. Prøv å la krabbene dale nedover skjermen raskere og raskere når når man skyter flere av dem. Her kan det være lurt å lage en variabel som heter hastighet
og bruke denne i hovedløkken til Romvesen-figuren. Så kan du for eksempel bruke en endre hastighet med 1
-kloss når et romvesen treffes.
Lisens: CC BY-SA 4.0
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!