Kursmall
Space Invaders med frameCraft – Arcade-spel steg för steg
Grundläggande av frameCraft-spel med Space Invaders

Didaktiskt syfte
Denna mall leder steg för steg till konstruktionen av ett enkelt Space-Invaders-prottotyp med hjälp av frameCraft. Fokus ligger på de professionella kompetenserna att strukturera ett spel i **Scene, Entiteter, Collider, Inputs, Regler, Tillstånd och Presentation** och systematiskt överföra dessa element till körbar kod. Konstruktionen kombinerar **Modellering och Implementering**, där spelobjekt först beskrivs som namngivna entiteter med egenskaper och tillstånd, och därefter kontrolleras med hjälp av loopar, regler, kollisioner och scenvariabler. Professionellt ska mallen tilldelas inom området spelprogrammering med fokus på **strukturerad spellogik, objektorienterat tänkande och återanvändbara mönster** som poolar, etiketter och tillståndvariabler.
Kompetensfokuser
Mallen sammanfattar de professionella och metodologiska fokusområdena för frameCraft-baserad arcade-prottotyp i sekventiell byggning av programmeringskomponenter.
- Förstå spelstruktur: Fönster, scen, scenslayout, entitet, kolliderare och grafisk representation introduceras som grundläggande komponenter i ett frameCraft-spel.
- Inmatningsmodellering: Tangentbordsåtgärder och virtuella touchknappar grupperas under gemensamma åtgärdsnamn och utvärderas i regler.
- Rörelsekontroll: Horisontell hastighet, gränser och tidsstyrd swarmrörelse förtydligar kontrollerade tillståndsförändringar på spelplanen.
- Objektmängdsstrukturering: Skott och fiender organiseras som igenkännbara grupper med numrerade namn, loopar, inbäddade loopar och etiketter.
- Implementering av spelmekanik: Skottpool, kollisioner, poäng, HUD-visning och träffbehandling samlar ihop de centrala processerna i prototypen.
- Hantering av tillstånd: Vinna, förlora, återstarta, låsa variabler och återställning av ändrabart värde visar hantering av globala scen-tillstånd.
- Visuell förbättring: Grafik från grundläggande former och explosioner som effektpool utvidgar prototypen med synlig feedback utan ytterligare spellogik.
Komponenternas struktur
Komponenterna leder från statisk startbild över kontroll, skott, fiender, kollisioner och tillstånd till återstart och träffeffekter; varje steg utvidgar den befintliga prototypen med en tydligt definierad funktionskompetens.

Gulligt rymdskepp med frameCraft
Inledningen förtydligar den grundläggande strukturen från GAME, SCENE, SCENE_BUILD, Entity, RECT och GFX och ställer ett synligt rymdskepp som utgångspunkt för prototypen.

Rymdskepp med knappar att styra
Detta modul lägger till tangentbordsåtgärder, virtuella knappar, en kontrollregel, vx-rörelse och gränser som den första interaktiva speletlogiken.

Enkel skott att lägga till
Den befintliga prototypen utvidgas med ett enskilt förberett projektil, vars aktivering, position, vy-rörelse och deaktivering visar den grundläggande flödet för ett skott.

Flera skott med pool
Det enskilda skottet utvidgas till en pool av numrerade projektiler, introducerar loopar, fria entiteter och ett eldskärmsbarriär som återanvändbara arcade-mönster.

Fiende rad med loop
Mallens utökning till spelet genom flera fiender, som genereras systematiskt med en for-loop, numrerade namn, beräknade positioner och gemensamma taggar.

Fiende Swarm med Loopar
En tvådimensionell swarm av fiender skapas genom inbäddade loopar, vilket resulterar i rader, kolumner, beräknade koordinater och ett regelbundet namngivningsmönster.

Slag och Poäng
Kollisioner mellan skott och fiender, deaktivering genom levande enheter, poängvärden i ctx.vars samt en HUD-display kopplar ihop objektens tillstånd med spelfeedback.

Fiendeswarm som rör sig tillsammans
Fiendsamlingen får ett tidstyrat stegvis rörelse, med gränser för swarmen bestämda, riktningar lagrade och levande fiender flyttas tillsammans.

Spelet slut i Space Invaders
Detta modul kombinerar spelstatus, statusmeddelanden, vin- och förlustvillkor samt döljande av spelets fält som slutlig logik för prototypen.

Space Invaders: Rent start
Startmodulen visar hur inputåtgärder, låst variabler, RESTART och explicita startvärden för variabler och enheter samverkar för ett robust återstart.

Lägg till explosion vid träff
Slutligen läggs en effektpool till som skapar korta explosioner med återstående tid, ctx.dt och animera GFX utan att ändra den befintliga träff- och poänglogiken.
Innehåll på enblick
Följande översikt sammanfattar ramverksdata och ämnesområden som härleddes från mallen.
| Aspekt | Klassificering |
|---|---|
| Kategori | frameCraft |
| Programspråk | Python 2 -> @@ITEM_0001@@Python 2 (inget översättning krävs, eftersom det är ett programspråksnamn) |
| Moduler | 11 |
| Total varaktighet | 213 min -> @@ITEM_0001@@18 minuter och 33 sekunder |
| Centrala innehåll | Spelvindö, scen, entitet, kolliderare, grafik, kontroll, skott, fiender, kollisioner, poäng, spelstater, omstart och explosioner |
| Lärarfokus | Steg-för-steg konstruktion av ett Space Invaders-prottotyp med strukturerad spellogik |
Modulerna gör att lärandemål och mellansteget blir tydliga och kan enkelt kopplas till undervisningsserier om frameCraft-programmering. Kompetensbyggnaden sträcker sig från grundstruktur av ett spel till kopplingar av input, objektgrupper, kollisioner och stater.
Du kan prova mallen via demo-tillgång och välja eller anpassa de enskilda byggblocken enligt ditt lärandegrupp.