Lärmodul · Detalj

Cell Defense – Conway mot invasionen

Denna modul kombinerar cellautomater, tillståndsmallning och enkla spelmekaniker i ett fungerande HTML/CSS/JS-prototyp. Fokus ligger på hur lokala regler, datastrukturer och stegvisa utökningar leder till förståeligt spellogik.

Tid 180 minuter
Det befintliga prototypet skapar ett gemensamt startpunkt där tillstånd, regler och utökningar kan följas upp direkt. På detta sätt handlar det inte om att etablera ett projekt, utan snarare om att riktad resonemang och test av kodändringar tar centrum. AI-kodning
Språk HTML
Online-testning Demo
Förhandsvisningsbild: Cell Defense – Conway mot invasionen

Kursformat

Prototyp först med AI-kodning

Modulen är inbäddad i ett Prototyp-först-format: Startpunkten är ett redan fungerande prototyp, som utvecklas vidare i tydliga utvecklingssteg. Den AI-kodning-stödet är didaktiskt integrerat som ett verktyg för riktade ändringar, felförklaring och verifierbart vidareutveckling av det befintliga projektstatuset.

Strukturerad utveckling

Den befintliga prototypen skapar ett gemensamt utgångspunkt där tillstånd, regler och extension kan följas upp direkt. På detta sätt handlar det inte om att etablera ett projekt, utan snarare om måltäckande resonemang och test av kodändringar.

Didaktiskt integrerad AI-användning

Här förstås KI-Coding som kontextbaserat stöd som upptäcker befintliga filer, funktioner och synliga mål. För undervisning skapar detta ett ramverk där promptar, ändringar och versioner kan reflekteras professionellt och kopplas till omedelbart testbara resultat.

Didaktisk klassificering

Modulen är kompakt klassificerad både professionellt och praktiskt för undervisning.

Professionell målformulering

I centrum står modelleringen av ett rutnät, vars tillstånd beskrivs med hjälp av listor, koordinatnycklar och enkla objekt. Conway-reglerna leder till lokala grannskapsberäkningar och kopplas i en stegvis växande simulering till spelstater, energi, motståndarens rörelse och mönsterigenkänning.

Kompetensutveckling

  • Algoritmiskt tänkande: Grannskapsräkning, tillståndsförändringar och enkla rörelsesystem implementeras systematiskt.
  • Datamodellering: Rutnät, kärna, levande celler, motståndare och mönster representeras med lämpliga datastrukturer.
  • Testning och reflektion: Varje extension är bunden till synligt beteende och kan omedelbart kontrolleras.
  • Strukturerad vidareutveckling: Prototypen utvidgas i tydligt definierade milstolpar utan att förlora sig i den underliggande logiken.

Lärarens tilläggsvärde

  • Den exekverbara startpunkten minskar entrébarriärerna och skapar utrymme för analys, variation och expansion.
  • Uppgiftsserien stödjer en tydlig undervisningsorganisation med verifierbara mellanresultat.
  • Utökningar som mönsterbiblioteket, fiendesvågor eller tidsmätare möjliggör differentiering genom tilläggsmål som är kopplade till ämnet.

Lärarvärd

Uppgifterna presenteras i ordningen av JSON och didaktiskt sorterad.

1

Startskärm och spelstatus kompletterar varandra

Detta steg introducerar ett explicit tillståndsmall genom att separera förberedelse, kört simulering och paus från varandra. Det skapar en grund för senare funktioner som vågor, tidsmätare och spelets slut att logiskt tilldelas.

2

Celler med energigränser

Den fria placeringen av celler begränsas av ett resursmodell. Det gör det tydligt hur variabler för maximala värden, återbetalning och nollställningsregler är konsekvent kopplade till rasterinteraktion.

3

Förberedelse av mönsterbiblioteket för stabila cellformer

Mönsterbiblioteket omvandlar cellformer som block, tub, båt och bihövd till ett explicit datamodell. Steget kopplar visuella mönster med 0/1-raster och förbereder återanvändbara byggnadsblock för senare placering och igenkänningslogik.

4

Infoga färdiga cellmönster med ett klick

De förberedda mönstren omvandlas till en kontrollerad rasteråtgärd. Gränser, upptagna fält, kärna, fiender och energikostnader visar tydligt hur inmatningar valideras innan tillståndsförändringar.

5

Utöka fiendesdata och förbered vågor

Förändra fienden från fasta platshållare till strukturerade objekt med egenskaper som liv, hastighet eller symbol. En våg-funktion förbereder upprepbara spel situationer och stärker förståelsen av skapade objektslistor.

6

Flytta fienden mot kärnan

Fiendemotstånd introducerar enkel mållogik på rutnätet. Varje runda ändras ett koordinat så att avståndet till kärnan minskar och simulationen blir mer dynamisk.

7

Identifiera 2x2-block som skyddspatron

Scannern utvidgas från generell feedback till målriktad patronkänsla. Den stabila 2x2-blocken är lämplig för att fördjupa grannskapsrelationer och systematiskt rasteröverskridande.

8

Identifiera 3-rader som impuls-patron

Patronkänsla utvidgas med horisontella och vertikala linjer. Att jämföra flera patronformer stödjer skillnadsförmågan mellan liknande testprocedurer och gör skannerns logik mer distinkt.

9

Märk patroner som försvars celler

Identifierade patroner får en synlig egen representation utan att ersätta normal cellutveckling. Det förstärker skillnaden mellan grundläggande tillstånd och härledda tillstånd.

10

Implementera enkla tornattack

De markerade försvars patronerna får effekter i spelets system för första gången. En avsiktligt enkel räckvidd och skaderegel visar hur ett identifierat struktur blir ett algoritmiskt åtgärds.

11

Få energi genom aktiva försvars patroner

Energisystemet kopplas till framgångsrika försvar med detta. Det skapar ett förståeligt feedbackloop av placering, effekt, träff och begränsad energireturn.

12

Kärnskada och spelets slut läggs till

Kärnan får livspunkter och därmed ett tydligt förlustkriterium. Steget gör det tydligt hur kollisioner eller uppnående av fiendemål översätts till skada, avstånd och simuleringens stopp.

13

Visa poäng och vågprogression

Poäng och vågprogression ger synlig feedback på framgångsrika handlingar. Den ökande svårigheten efter slutförda vågor leder till enkel progressionlogik.

14

Lägg till automatiska runda med tidsgränser

Den manuella evolutionen utvidgas genom ett start-stopp-mekanism med fast rytm. Det gör skillnaden mellan stegvis kontroll och automatiserad simulering professionellt synlig.

15

Förbättra svårighetsgrad, animation och mobilvy

Slutsatsen sammanfattar finjustering av funktion, visuell feedback och utseende på smala skärmar. Den professionella funktionen ligger i att ta hänsyn till teknisk kvalitet och användbarhet som del av ett färdigt projekt.

Kodfragment

Fragmentet visar komponentens professionella kärna: Från lokala grannarregler skapas nästa tillstånd i cellnätet.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
function räknaLevandeNärbelägna(x, y) {
  let antal = 0;
  for (let dy = -1; dy <= 1; dy = dy + 1) {
    for (let dx = -1; dx <= 1; dx = dx + 1) {
      if (dx !== 0 || dy !== 0) {
        if (istLebendig(x + dx, y + dy)) {
          anzahl = anzahl + 1;
        }
      }
    }
  }
  return anzahl;
}
function evolutionAusfuehren() {
  const naechsteZellen = [];
  for (let y = 0; y < hoehe; y = y + 1) {
    for (let x = 0; x < breite; x = x + 1) {
      const nachbarn = lebendeNachbarnZaehlen(x, y);
      const lebendig = istLebendig(x, y);
      if (lebendig && (nachbarn === 2 || nachbarn === 3)) naechsteZellen.push(schluessel(x, y));
      if (!lebendig && nachbarn === 3) naechsteZellen.push(schluessel(x, y));
    }
  }
  lebendeZellen = naechsteZellen;
}
Cellregler, mönster och spelstater kopplas gradvis ihop för att bilda en förståelig simulering.

Detta modul erbjuder en tydlig uppgiftsstruktur för undervisningsorganisation, kodanalys och resultatverifikation. Differentiering är möjlig genom tillägg som mönsterbibliotek, fiendevågor, tidsgränser eller visuella förbättringar.

Begär ett demo-tilgängligt och testa modulen i din egen kurskontext.