Kursmal
Space Invaders med frameCraft – Arcade-spill trinn for trinn
Grundleggende om frameCraft-spill med Space Invaders

Didaktisk mål
Denne malen leder trinn for trinn gjennom byggingen av et enkelt Space-Invaders-prototype ved hjelp av frameCraft. Fokuset er på profesjonelle kompetanser til å strukturere et spill i **Scene, Entiteter, Collider, Inputs, Regler, Tilstand og Presentasjon** og systematisk overføre disse elementene til utführbart kode. Byggingen kombinerer **Modellering og Implementering**, hvor spillobjekter først beskrives som navngitte entiteter med egenskaper og tilstand, og deretter kontrolleres ved hjelp av løkker, regler, kollisjoner og scenevariabler. Profesjonelt skal malen brukes innen spilprogrammering med fokus på **strukturert spilllogikk, objektorientert tenkning og gjenbrukbare mønstre** som plasseringspooler, merkelapper og tilstandsvariabler.
Kompetansefokuser
Malen samler profesjonelle og metodiske fokuser for frameCraft-basert arcade-prototype i sekvensiell bygging av programmeringskomponenter.
- Forstå spilstruktur: Fenster, Scene, Sceneoppsett, Entity, Collider og grafisk representasjon introduseres som grunnleggende komponenter i et frameCraft-spill.
- Innmatingsmodellering: Tastetrykk og virtuelle berøringstaster samles under felles handlingssnavn og evalueres i regler.
- Bevegelseskontroll: Horisontal hastighet, grensebegrensning og tidsstyrt swarmbevegelse klarer kontrollerte tilstandskonverteringer på spillfeltet.
- Objektantallstrukturering: Skytter og fiender organiseres som gjenkjennelige grupper med nummererte navn, løkker, indre løkker og merker.
- Implementering av spillmekanikk: Skyttepool, kollisjoner, poeng, HUD-visning og treffbehandling bringer de sentrale prosessene i prototypen sammen.
- Stasjonsadministrasjon: Vinn, tap, gjenstart, låsevariable og nullstilling av endringsbare verdier viser håndtering av globale scene-tilstander.
- Visuell forbedring: Grafikk fra grunnleggende former og eksplosjoner som effekt-pool utvider prototypen med synlig tilbakemelding uten ekstra spilllogikk.
Komponentstruktur
Komponentene leder fra statisk startbilde over kontroll, skytter, fiender, kollisjoner og tilstander til gjenstart og treff-effekter; hver trinn utvider den eksisterende prototypen med en tydelig definert funksjonell kompetanse.

Lyst romskip med frameCraft
Inngangen forklarer den grunnleggende strukturen fra GAME, SCENE, SCENE_BUILD, Entity, RECT og GFX og setter et synlig romskip som utgangspunkt for prototypen.

Romfartøy med knapper for kontroll
Dette modulene legger til tastetrykk, virtuelle knapper, en kontrollregel, vx-bevegelse og grenser som første interaktive spilllogikk.

Enkelt skudd til å legge til
Den eksisterende prototypen utvides med et enkelt forberedt projektil, hvor aktivisering, posisjon, vy-bevegelse og deaktivisering viser den grunnleggende strømmen i et skudd.

Flere skudd med pool
Det enkelte skudd utvides til et pool av nummererte projektiler, innfører løkker, frie entiteter og en skytebarriere som gjenbrukbare arcade-mønstre.

Fjende linje med løkke
Malen utvider spillet med flere fiender, som genereres systematisk med en for-løkke, nummererte navn, beregnede posisjoner og felles merker.

Fjende flokk med løkker
En todimensjonell flokk av fiender blir skapt gjennom indre løkker, som resulterer i rader, kolonner, beregnede koordinater og et regelmessig navnsskjema.

Treffer og Poeng
Kollisjoner mellom skytter og fiender, deaktivering ved levende enheter, poengverdier i ctx.vars, og en HUD-display kobler objekttilstander med spilltilbakemeldinger.

Fiendens swarm beveger seg sammen
Fiendegruppen mottar en tidsstyrt stegbevegelse, med definerte swarmgrenser, lagret retning og levende fiender som beveges sammen.

Spill over i Space Invaders
Dette modulen kombinerer spilltilstander, statusmeldinger, seier- og tapforhold, samt skjul av spillegrensen som endelig logikk for prototypen.

Space Invaders: Rent start
Startmodulen viser hvordan inputaksjoner, låsevariable, RESTART og eksplisitte startverdier for variabler og enheter samarbeider for en robust reset.

Treffer eksplosjon tillegg
Slutt på, en effektpool legger til korte eksplosjoner med resterende tid, ctx.dt og animert GFX uten å endre eksisterende treff- og poenglogikk.
Innhold på et høyt nivå
Følgende oversikt summerer rammevilkår og emner som er utledet fra skjemaet.
| Aspekt | Klassifisering |
|---|---|
| Kategori | frameCraft |
| Programmert språk | Python 2 -> @@ITEM_0001@@Python 2 (ikke oversettelse nødvendig, da det er et programmert språks navn) |
| Moduler | 11 |
| Total varighet | 213 min -> @@ITEM_0001@@18 minutter og 33 sekunder |
| Sentrale innhold | Spillvindu, scene, entitet, kollisjon, grafikk, kontroll, skyter, fiender, kollisjoner, poeng, spilltilstander, omstart og eksplosjoner |
| Lærerfokus | Trinn for trinn konstruering av en prototype til Space Invaders med strukturert spilllogikk |
Modulene gjør at læringmål og mellomstepper er synlige, og kan lett kobles sammen med undervisningsserier om frameCraft-programmering. Kompetansebyggingen strekker seg fra grunnleggende struktur i et spill til å koble sammen input, objektgrupper, kollisjoner og tilstander.
Du kan prøve ut skjemaet via demo-tilgang og velge eller tilpasse de enkelte byggesteiner etter din læringssituasjon.