Modul · Detalj
Rymdinvaderare: Försvar mot formationen
Denna modul leder från en liten, gångbar spelmodul till ett strukturerat Space-Invaders-projekt. Fokus ligger på steg för steg att bygga kontroll, fiendens data, träfflogik, poäng, livssystem, vågsstruktur och omstart.

BuildFromZero med KI-Coding
Strukturerad kodutveckling från en liten startbas
Denna modul använder KI-Coding som kontextmedveten stöd för vidareutveckling av ett befintligt projekt. Startpunkten är inte ett färdigt spel, utan en minimal, gångbar spelmodul med rymdskepp, formationssättning, statusvisning och förberedda inmatningar.
Uppgifterna leder steg för steg från visuella förbättringar över kontroll och scenvärden till skjutlogik, fiendens formationer, kollisioner, poäng, liv, vågor och omstart. Detta gör programmeringsprocessen synlig som en förståelig sekvens av små ändringar som kan testas och professionellt kategoriseras.
Denna struktur stöder genomskinligt arbete med KI-genererade förändringar i undervisning: prompt, kodjusteringar och versioner hålls bundna till konkreta delmål. Fokus ligger på förståelig kodutveckling, målrikt utökningar och direkt verifierbara mellanresultat.
Didaktisk klassificering
Modulen är kompakt integrerad i ämnet och undervisningspraxis.
Subjektivt målställning
I centrum står byggnaden av ett enkelt 2D-spel från tydligt separerade kodkomponenter: scen, figurer, inputs, regler och tillstånd. Professionskunskapen består i inte att ta över spelmekanik som ett komplett produkt, utan steg för steg modellera och implementera dem genom datastrukturer, tillståndsvarv och återkommande regler.
Kompetensutveckling
- Strukturering: Projektets kod delas upp i byggnadsdelar, hjälpfunktioner, scenvärden och spelregler.
- Modellering: Förändringar som fiender, skott, poäng, liv och vågor visas som data och tillstånd.
- Algoritmiskt tänkande: Rörelse, gränskontroll, kollision och statusändring implementeras som regelbaserade processer.
- Felsökning och iteration: Varje utökning är tillräckligt liten för att kunna omedelbart kontrolleras och riktat korrigeras.
Lärarens extra värde
- Modulen erbjuder en tydlig progression från visuell orientering till fullständiga spelstatus.
- Att dela upp i mindre arbetssteg förenklar resultatens säkerhet och mellanliggande reflektion.
- Utökningar som hastighet, vågor eller omstart möjliggör differentiering inom samma projektcontext.
Flöde i lektionens enhet
Uppgifterna presenteras i ordningen av JSON och innehållsmässigt sammanfogade.
Gör spelplanet mer lättläst
Startscenen kompletteras med en synlig försvarsrad vid spelplanets nedre kant. Det ger spelområdet tydlig rumsorientering utan att ändra några spelregler än så länge.
Förbättra raketen som spelarefigur
Den befintliga försvarsfiguren görs visuellt mer distinkt. Ändringen begränsas till representationen och skiljer därmed design medvetet från kontroll och spellogik.
Förbered vänster-höger rörelse
De förberedda inputarna kopplas första gången till ett verkligt horisontellt rörelse. Dessutom begränsas positionen så att raketen hålls inom fönstret.
Rörelsehastighet som scenvärde
Det fasta rörelsenumret ersätts av ett scenvärde. Det gör det synligt hur spelparametrar kan lossas från logik och justeras senare enklare.
Konvertera Baustellenregel till spelregel
Den tidigare statusregeln rensas så att den inte längre permanent överstiger meddelanden. Den befintliga rörelsen behålls och regeln stabiliseras som en plats för ytterligare spellogik.
Förbered skjutande figur
En enskild skjutande figur placeras och initialt positioneras utanför det synliga fönstret. Det skapar strukturen för senare skott utan att bygga utlösnings- eller flyttlogik redan.
Aktivera skottstart
En marker håller koll på om skjutknappen redan har tryckts. Det förbereder så att ett tangenttryck endast utlöser en enskild åtgärd senare och inte bearbetas igen i varje ram.
Utlösa skott
Den förberedda skotten startar vid nyttigen erkännande av skjutåtgärden på platsen för rymdskeppet. Den fortsätter att använda endast en skottfigur, vilket håller resurser och tillstånd tydligt kontrollerat.
Flytta skott uppåt
Ett aktiverat skott rör sig uppåt och återställs när det lämnar spelets fält. Det implementerar enkel livscykel för ett spelobjekt.
Planera fiendens data som lista
Fiendeformationen förbereds initialt som en lista med namn och positioner. Ingen fiendefigur skapas ännu, så att skillnaden mellan datamodell och presentation bibehålls tydlig.
Visa fiendeformation
Synliga fiendefigurer genereras från den förberedda startdatan. Namn, positioner och etiketter återanvänds konsekvent så att senare regler kan komma åt formationen.
Ställ in fiendens aktiv status
En separat lista håller koll på vilka fiender som är aktuella, och skiljer dem från alla skapade fiender.
Slutför träffstruktur
Ett krockreagerande mellan ett skott och en fiende läggs till. En giltig träff tar bort fienden från aktivlistan, flyttar den ur synhåll och återställer skottet.
Få poäng
Poängen ökar exakt med ett poäng vid en giltig träff. Beräkningen hålls separat från visningen för att bibehålla skillnaden mellan dataändringar och presentation.
Visa poäng i HUD
Poängen visas genom ett UI-element och kopplas till scenens värde, vilket etablerar kopplingen mellan intern status och skärmfeedback.
Flytta fiender långsamt
Aktiva fiender rör sig långsamt åt sidorna. Rörelsen använder egna scenvärden för riktning och tempo och är begränsad till de aktuella fienderna.
Kantbyte för formationen
När formationen når spelets kant ändras riktningen och den flyttas nedåt. Kontrollen görs så att riktningsskiften inte utlöses flera gånger i samma ram.
Återställ formation säkert
En hjälpfunktion återställer alla fiender till deras startpositioner och återställer den aktiva fiendelistan. Funktionen skapar inte nya figurer och stöder framtida våg- och omstartlogik.
Introducera liv och fara
Om aktiva fiender kommer för djupt dras ett liv bort och formationen återställs. Skjutningsstatusen rensas också så att varje farosituation kan hanteras tydligt.
Visa liv i HUD
De återstående liv är synliga som ett separat HUD-värde. Visningen placeras separat från titel och poäng, så att olika spelinformation förblir skilda.
Starta ny våg
När alla fiender är besegrade ökas vågen och formationen förbereds om igen med återställningsfunktionen. Poäng och liv behålls, vilket skapar en kontinuerlig spelutveckling.
Spelet slutar utan omstart
När livet är slut sätts ett Game-Over tillstånd. Vanliga spelelement som rörelse, skjutning, fiendemovement och nya vågor fortsätter inte i detta tillstånd.
Omstart med knapp och touch
Efter Game Over läggs en oblockerad återstartåtgärd till. Poäng, liv, våg, spelarens position, skott och formation återställs konsekvent till ett startläge.
Kodfragment
Exemplen visar separationen av scenvärden, åtkomshjälpare och upprepade regler som modulens strukturella kärna.
| |
Den tydliga uppsättningen av uppgifter stöder undervisningsorganisation, mellanliggande säkerhet samt utvecklingen av ett komplett spelkurs från små kodändringar. Utökningar som tempo, vågor eller återstart möjliggör flexibel anpassning till olika lärandenivåer.
Begär en demo-tillgång och testa modulen i din egen kurskontext.