Krabbeangrep! Remiks

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.

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!

Rapporter et problemVis koden og fiks selv