Modul · Detalj
Rumdrager: Forsvar mot formasjon
Denne modulen leder fra et lite, gåbart spillmodul til et strukturert Space-Invaders-prosjekt. Fokuset er på trinnvis bygging av kontroll, fiendtlig data, trefflogikk, score, livssystem, bølgestruktur og restart.

BuildFromZero med KI-Coding
Strukturert kodeutvikling fra en liten startbasis
Denne modulen bruker KI-Coding som kontekstbevisst støtte for videre utvikling av et eksisterende prosjektstatus. Startpunktet er ikke et ferdig spill, men et minimalt, gåbart spillmodul med romskip, formasjonsmerking, statusvise og forberedte input.
Oppgavene leder trinnvis fra visuelle forbedringer over kontroll og sceneverdier til skuddlogikk, fiendtlige formasjon, kollisjoner, poeng, liv, bølger og restart. Dette gjør programmeringsprosessen synlig som en forståelig sekvens av små endringer som kan testes og profesjonelt kategoriseres.
Denne strukturen støtter gjennomsiktig arbeid med KI-genererte endringer i undervisning: prompter, kodejusteringer og versjoner beholdes koblet til konkrete undermål. Fokuset er på forståelig kodeutvikling, målrettet utvidelser og direkte verifiserbare mellomresultater.
Didaktisk klassifisering
Modulen er kompakt integrert i fagstoffet og undervisningspraksisen.
Subjektiv målsetting
I sentrum står byggingen av et enkelt 2D-spill fra tydelig skiltede kodekomponenter: scene, figurer, input, regler og tilstand. Den profesjonelle oppnåelsen består i ikke å overta spillmekanikk som et fullstendig produkt, men steg for steg modellere og implementere dem gjennom datastrukturer, tilstandsverdier og gjentatte regler.
Kompetanseutvikling
- Strukturering: Prosjekt-koden er delt inn i bygging, hjelpefunksjoner, scene-verdier og spillregler.
- Modellering: Fiender, skudd, poeng, liv og bølger blir framstilt som data og tilstander.
- Algoritmisk tenkning: Bevegelse, grensekontroll, kollisjon og tilstandsbytte implementeres som regelbaserte prosesser.
- Feilsøking og iterasjon: Hver utvidelse er så liten at den kan umiddelbart kontrolleres og målrettet korrigeres.
Lærerens tilleggsverdi
- Modulen gir en tydelig fremdrift fra visuell orientering til fullstendige spilltilstander.
- Deling inn i mindre arbeidssteg gjør resultat sikring og mellomromsrefleksjon lettere.
- Utvidelser som hastighet, bølger eller restart tillater differensiering innen samme prosjekt-kontekst.
Strømningen i undervisningsenheten
Oppgavene presenteres i rekkefølge fra JSON-en og er innholdsmessig komprimert.
Gjør spilfeltet mer leselig
Startscenen blir utvidet med en synlig forsvarslinje ved nederste kant av spilfeltet. Dette gir spillerområdet en tydelig romlig orientering uten å endre noen spillregler ennå.
Forbedre skuten som spillerfigur
Den eksisterende forsvarsfiguren blir visuelt gjort mer distinkt. Endringen er begrenset til representasjonen, og skiller dermed designet bevisst fra kontroll og spilllogikk.
Forbered venstre-høyrebevegelse
De forberedte inputene kobles første gang sammen med en virkelig horisontal bevegelse. I tillegg begrenses posisjonen slik at skuten holder seg innenfor vinduet.
Bevegelseshastighet som sceneverdi
Den faste bevegelsesnummeret erstattes av en sceneverdi. Dette gjør det synlig hvordan spillparametre kan frigjøres fra logikk og justeres senere lettere.
Konverter Baustellenregel til spillregel
Den tidligere statusregelen blir rensa slik at den ikke lenger permanent overrasker meldinger. Den eksisterende bevegelsen beholdes, og regelen stabiliseres som en plass for videre spilllogikk.
Forbered skytefigur
En enkelt skytefigur plasseres og initialiseres utenfor det synlige vinduet. Dette skaper strukturen for senere skyting uten å bygge utløser- eller flylogikk allerede.
Utløst skytestart
Et merke holder styr på om skyteknappen allerede er trykket. Dette forbereder slik at et tastetrykk kun utløser en enkelt handling senere, og ikke blir behandlet igjen i hver frame.
Utløs skudd
Den forberedte skytingen starter ved nytt anerkjent skyteaksjon på posisjonen til romskipet. Den fortsetter å bruke kun ett skytefigur, slik at ressurser og tilstand blir tydelig kontrollert.
Flytt skudd oppover
Et aktivt skudd flytter seg oppover og resettes når det forlater spillfeltet. Dette implementerer en enkel livssyklus for et spillobjekt.
Planer fiendtlige data som liste
Fiendtlige former er først forberedt som en liste med navn og posisjoner. Ingen fiendtlige figurer er opprettet enda, slik at skillen mellom datamodell og presentasjon blir tydelig.
Vis fiendtlige former
Synlige fiendtlige figurer genereres fra den forberedte startdata. Navn, posisjoner og merker tas konsistent i bruk slik at senere regler kan tilgå formasjonen.
Sett aktiv status på fiender
En separat liste holder styr på hvilke fiender som er aktive nå, og skiller dem fra alle opprette fiender.
Fullfør hit-struktur
Et kollisjonsrespons mellom et skudd og en fiende blir lagt til. Et gyldig treff fjerner fienden fra aktivlisten, flytter den ut av synet, og resetter skuddet.
Score poeng
Score økes med nøyaktig ett poeng ved et gyldig treff. Beregningen beholdes adskilt fra visningen for å holde dataendringer og presentasjon adskilt.
Vis score i HUD
Poengene vises gjennom et UI-element og kobles til scenens verdi, for å etablere koplingen mellom intern tilstand og skjermtilbakemelding.
Flytt fiender langsomt
Aktive fiender beveger seg langsomt i sidevis retning. Bevegelsen bruker egne sceneverdier for retning og tempo, og er begrenset til de nå aktive fiendene.
Kantforandring for formasjonen
Når formasjonen når kanten av spilfeltet, endres retningen og beveger seg nedover. Kontrollen er satt opp slik at retningsskifte ikke utløses flere ganger i samme rammes.
Nullstill formasjon sikker
En hjelpemåte nullstiller alle fiender til deres startposisjoner og gjenoppretter listen over aktive fiender. Funksjonen skaper ikke nye figurer og støtter fremtidig bølge- og restartlogikk.
Introduser liv og fare
Hvis aktive fiender kommer for dypt inn i spillet, trekkes et liv fra og formasjonen nullstilles. Firingssituasjonen blir også ryddet opp slik at hver fare situasjon kan håndteres tydelig.
Vis liv i HUD
De resterende liv er synlige som et separat HUD-verdi. Visningen plasseres adskilt fra tittelen og poengene, slik at ulike spillinformasjoner forblir skillebare.
Start ny bølge
Når alle fiender er slått ned, økes bølgen og formasjonen forberedes på nytt ved å bruke nullstillingsfunksjonen. Poeng og liv beholdes, og skaper en kontinuerlig spilprogresjon.
Spill over uten restart
Når livet er uttømt, sattes et spill-over tilstand. Vanlige spillkomponenter som bevegelse, skyting, fiendens bevegelse og nye bølger fortsetter ikke i denne tilstanden.
Gjenstart med knapp og berøring
Etter Game Over legges en ublokkert restartaksjon til. Poeng, liv, bølge, spillerposisjon, skyting og formasjon resettes konsistent til et starttilstand.
Kodesnutt
Utklippet viser skille mellom scene-verdier, tilgangshjelpere og gjentatte regler som strukturen i modulen.
| |
Den klare sekvensen av oppgaver støtter opplæringsorganisering, mellomliggende sikkerhet og utvikling av et komplett spillkurs fra små kodeendringer. Utvidelser som tempo, bølger eller restart tillater fleksibel tilpasning til ulike læringsevner.
Forespør en demo-tilgang og test modulen i egen kurskontekst.