Space invaders

Skrevet av: Oppgaven er laget av GDG Bergen, og tilpasset Kodeklubbens format på oppgaver.

Oversatt av: Teodor Heggelund og Stein Olav Romslo

Kurs: Appinventor
Tema: App, Blokkbasert, Spill
Fag: Programmering, Matematikk
Klassetrinn: 5.-7. klasse, 8.-10. klasse
Til lærerveiledningLast ned PDF

Introduksjon

I denne oppgaven skal vi lage et spill som heter Space Invaders, som er en enkel utgave av det klassiske spillet. Spillet handler om å styre et romskip som skal skyte ned en alien. Vi skal bruke stoppeklokke, animasjoner og mye mer. Målet for appen er å skyte ned så mange aliens som mulig.

Bilde av et ferdig Space Invaders-spill

Steg 1: Komme i gang med App Inventor

For å komme igang med App Inventor åpner vi nettsiden i Chrome, Safari eller Firefox. OBS! App Inventor fungerer ikke i Internet Explorer.

Bilde av App Inventor-vinduet

checkSjekkliste

Bilde av romskipet vi bruker i spillet
Bilde av alien-figuren vi bruker i spillet
Bilde av laserkulen vi bruker i spillet

Steg 2: La oss komme i gang med koding!

Vi starter med å designe grensesnittet for appen vår.

Åpne "Designer" og legg til elementer slik at du får et grensesnitt du er fornøyd med. Det kan for eksempel se ut som på bildet under:

Bilde som viser hvordan grensesnittet kan se ut

checkSjekkliste

Da er alt som skal vises på skjermen lagt inn i appen vår. Du kan prøve å starte appen nå. Ser du alt du har lagt til på skjermen?

Steg 3: Flytte på raketten

Vi skal lage kode som lar oss flytte raketten fra side til side.

For å programmere figurene må vi bytte til "Blocks". La oss begynne med å flytte på raketten. Den skal bare bevege seg fra side til side, altså kun i X-retning.

checkSjekkliste

Bilde som viser -funksjonen

flagTest spillet

Når du har lagt inn kodesnutten kan du starte appen og se om du kan bevege på romskipet fra side til side ved å flytte den med fingeren.

Steg 4: Gjør klar kulen

Vi vil at kulen til romskipet skal være usynlig fram til den blir skutt fra romskipet, og etter den har truffet et romvesen.

Vi skal starte med å gjøre kulen usynlig. Så skal vi skyte den fra romskipet, og den blir synlig. Dersom den treffer et romvesen skal kulen forsvinne og poengsummen øke med 1.

checkSjekkliste

  • Bilde som viser koden for å skjule kulen
  • Bilde som viser koden for å skyte kulen
  • Bilde som viser koden for når romvesenettreffes

flagTest spillet

Fungerer spillet?

Hvis du har gjort alt som det er beskrevet skal du få fyrt av én kule fra romskipet. Men det skjer ikke noe etter at den første kulen er skutt. Vi må derfor programmere at kulen flyttes tilbake til romskipet.

checkSjekkliste

  • Bilde som viser koden for å flytte kulen tilbake tilromskipet

Test spillet og se om du kan skyte flere kuler.

Du ser kanskje at om kulen bommer på romvesenet, så setter den seg fast i toppen av skjermen til du skyter igjen? For å fikse dette må vi sjekke om vi er i toppen på lerretet.

  • Bilde som viser hvordan vi gjemmer kulen om den trefferkanten

Steg 5: Start om igjen

Noen ganger er det greit å kunne starte spillet på nytt.

Vi skal lage kode slik at når vi trykker på "Start på nytt"-knappen så setter vi poengsummen tilbake til 0.

checkSjekkliste

  • Bilde som viser hvordan poengsummen kannullstilles

Steg 6: La oss gjøre spillet vanskeligere

Vi skal gjøre spillet litt vanskeligere.

Når en kule treffer romskipet skal det flytte på seg. Vi vil at det samme skal skje dersom det går for lang tid uten at vi klarer å skyte det.

checkSjekkliste

  • Bilde som viser hvordan romvesenet kan flytte på seg dersom vi trefferdet
  • Bilde som viser kode for flytting dersom tiden gårut

Da er vi ferdig med å programmere. Kos deg med spillet!

Steg 7: Bonusoppgave!

Prøv å videreutvikle spillet. Du kan for eksempel prøve noe av det følgende:

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!