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.

Kategori: frameCraft Språk: Python 2 Komponenter: 12 Tema: pygame / Game-DSL
Inkluderar undervisningsmaterial: PowerPoint-föreläsningar och handbok för lärare.
Förhandsvisning: Den Fullständiga Frogger: Från Scen till Polishing

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.

Förhandsvisning: Kollisioner och liv i Frogger

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.

Förhandsvisning: Scen och regel: Frös automatiskt rör sig

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.

20 minuter🧩 1 uppgift
Förhandsvisning: Frogger rasterkontroll och skärmgränser

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.

20 minuter🧩 1 Uppgift
Förhandsvisning: Touch-knappar via VKNO

Touch-knappar: samma Frog-styrning via VKNO

Alternativa inmatningsalternativ genom virtuella knappar som utlöser samma åtgärder som tangentbordsstyrning.

20 minuter🧩 1 Uppgift
Förhandsvisning: Nivålayout – vägmarkeringar och skyltar

Nivålayout: Vägmarkeringar och skyltar

Byggande av spelets landskap med hjälpfunktioner och loopar för upprepade nivåstrukturer.

25 minuter🧩 1 Uppgift
Förhandsvisning: Frogger-bilar med dt och wrap-around

Frogger: Bilar med dt & Wrap-around

Tidsbaserad rörelse för fiendebilar samt kontinuerlig rörelse över skärmbegränsningar.

⏱️ 25 min🧩 1 Uppgift
Förhandsvisning: Frogger-bilar – data-drivna genereringar

Frogger: Bilar – data-drivna genereringar

Automatisk skapande av flera fiender genom data-drivna strukturer och systematiska namngivningskonventioner.

⏱️ 35 min🧩 1 Uppgift
Förhandsvisning: Kollisioner och liv – Frogger-logik

Kollisioner & Liv: Frogger-logik

Implementering av kollisionshändelser samt hantering av spelstatus över liv, återstart och spelet slut.

20 minuter🧩 1 Uppgift
Förhandsgranskning: Vinstvillkor och spelstatus

Frogger: Vinstvillkor, poäng & Spelstatus

Utökning med poängfördelning, vinstvillkor och tydliga spelstatus under ett nivåspel.

25 minuter🧩 1 uppgift
Förhandsgranskning: HUD och sluttexter med frameCraftUI

HUD & Sluttexter med frameCraftUI

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

20 minuter🧩 1 uppgift
Förhandsgranskning: Robust återstart med lås och knapp

Robust återstart med lås och knapp

Stabil återställningslogik med låsmekanism samt en inbyggd återstartknapp efter speländring.

25 minuter🧩 1 uppgift
Förhandsgranskning: Grafiska former och koordinater

Frogger: Grafiska former & Koordinater

Design av spelfigurer och fiender genom programmerade grafiska former i det lokala koordinatsystemet.

35 minuter🧩 1 uppgift
Förhandsgranskning: Refaktorisering av struktur och namngivning i Frogger

Frogger-Refaktorisering: Struktur & Namngivning

Genomgång av kodbasen genom tydlig strukturering, konsekvent namngivning och förklarande kommentarer.

⏱️ 35 min🧩 1 uppgift

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.