Kursmall
Den Fullständiga Frogger: Från Scen till Polishing
Lär dig frameCraft med Frogger: Rörelse, Kollisioner, HUD, återstartlogik och grafisk design – steg för steg som en komplett undervisningsmall.

Didaktiskt syfte
Ett komplett spel som en strukturerad lärandeserie
Denna kursmall leder genom utvecklingen av ett enkelt Frogger-spel med Game-DSL frameCraft. Fokus ligger på systematiskt att bygga centrala spelmekanik som rörelse, kollisioner, tillståndshantering och användargränssnitt.
Modellering
Eleverna identifierar hur spelobjekt, fiender, nivåband och spelstater modelleras som tydliga programstrukturer.
Implementering
Spelmekanik utvecklas steg för steg: Scen, Regler, Inputs, Rörelse, Kollisioner, Poäng, Liv, HUD och Återstartlogik.
Reflektion
I slutet kommer koden att återgranskas: struktur, namngivning och kommentarer gör det tydligt hur ett projekt kan underhållas.

Kompetensutveckling
Från det första objektet till spelets tillstånd
Mallen visar inte bara att ett spel fungerar. Den gör det tydligt hur interaktiva system byggs: genom scener, upprepade regler, händelser, objektsmärker och statusvariabler.
- Grundläggande struktur av spelet med scen, byggfas och regler
- Rörelselogik och inmatningsbearbetning via åtgärder
- Rasterbaserad kontroll av spelobjekt med skärmgränser
- Tidsbaserad rörelse för fiender med delta-tid
- Hantering av kollisioner, liv, poäng och spelets tillstånd
- HUD, grafiska former och ren kodstrukturering
Struktur av byggblock
Tjugo steg från scen till polis
Byggblocken är utformade så att eleverna kan kontinuerligt utöka spelet. Varje enhet lägger till en tydligt igenkännbar funktion och förstärker ett specifikt informatiskt begrepp.

Scen & Regel: Frös automatiskt rör sig
Introduktion till den grundläggande strukturen av ett frameCraft-spel med scen, objekt och automatiskt utförd regel.

Frogger: Rasterkontroll och skärmgränser
Implementering av ett rasterbaserat styrningsmekanism via åtgärder samt begränsning av spelobjektet till det synliga spelets området.

Touch-knappar: samma Frog-styrning via VKNO
Alternativa inmatningsalternativ genom virtuella knappar som utlöser samma åtgärder som tangentbordsstyrning.

Nivålayout: Vägmarkeringar och skyltar
Byggande av spelets landskap med hjälpfunktioner och loopar för upprepade nivåstrukturer.

Frogger: Bilar med dt & Wrap-around
Tidsbaserad rörelse för fiendebilar samt kontinuerlig rörelse över skärmbegränsningar.

Frogger: Bilar – data-drivna genereringar
Automatisk skapande av flera fiender genom data-drivna strukturer och systematiska namngivningskonventioner.

Kollisioner & Liv: Frogger-logik
Implementering av kollisionshändelser samt hantering av spelstatus över liv, återstart och spelet slut.

Frogger: Vinstvillkor, poäng & Spelstatus
Utökning med poängfördelning, vinstvillkor och tydliga spelstatus under ett nivåspel.

HUD & Sluttexter med frameCraftUI
Utveckling av en användargränssnitt för att visa liv, poäng och speländringar.

Robust återstart med lås och knapp
Stabil återställningslogik med låsmekanism samt en inbyggd återstartknapp efter speländring.

Frogger: Grafiska former & Koordinater
Design av spelfigurer och fiender genom programmerade grafiska former i det lokala koordinatsystemet.

Frogger-Refaktorisering: Struktur & Namngivning
Genomgång av kodbasen genom tydlig strukturering, konsekvent namngivning och förklarande kommentarer.
Exempel från kursen
Kollisioner och liv kommer att visas som spelstatus
I modulen "Kollisioner & Liv" implementeras den centrala Frogger-logiken: När grodan rör sig mot en bil tas ett liv bort. Därefter bestämmer spelets tillstånd om figuren återställs eller om spelet avslutas.
def kollision_auto(ctx, frosch_e, auto_e):
if ctx.vars.get("tot"):
return
ctx.vars["leben"] -= 1
frog_ent = ctx.E("frosch")
if ctx.vars["leben"] <= 0:
ctx.vars["tot"] = True
if frog_ent is not None:
frog_ent.alive = False
else:
if frog_ent is not None:
frog_ent.x = FROG_START_X
frog_ent.y = FROG_START_Y
BEI_KOLLISION(“frosch”, “auto”, kollision_auto)
Användning i undervisning
Direkt användbar och enkel att anpassa
De tydligt strukturerade modulerna möjliggör transparent planering av lektioner och underlättar integrationen i befintliga datavetenskapkurser. Lärare kan använda mallen direkt och anpassa den efter grupp, tidsram och undervisningsmiljö.
För nybörjare
Kursen börjar med synliga rörelser och enkla regler. Detta skapar snabba framgångserfarenheter och en tydlig inledning till frameCraft.
För projektarbete
Modulerna kan kopplas ihop för att bilda en längre lektionsserie, ett projekt dag eller ett differentierat utökat uppgift.
För egna variationer
Från Frogger-basen kan nya nivåer, fiender, regler, grafik, poängsystem eller egna spelidéer uppstå.
Prova nu
Använd Frogger som mall för dina egna spelprojekt
Denna mall stöder strukturerad utveckling av ett enkelt spel och illustrerar centrala principer för modellering och implementering av interaktiva system.