Kursmal

Den fulle Frogger: Fra scene til polering

Lær frameCraft med Frogger: Bevegelse, kollisjoner, HUD, restartlogikk og grafisk design – trinn for trinn som en fullstendig undervisningsmal.

Kategori: frameCraft Språk: Python 2 Komponenter: 12 Tema: pygame / Game-DSL
Inkluderer undervisningsmateriell: PowerPoint-utsnitt og høyre for lærere.
Forhåndsvisning: Den fulle Frogger: Fra scene til polering

Didaktisk mål

Et fullstendig spill som en strukturert læringsserie

Denne kursmalen leder gjennom utviklingen av et enkelt Frogger-spill med Game-DSL frameCraft. Fokuset er på systematisk å bygge sentrale spillmekanismer som bevegelse, kollisjoner, tilstandshåndtering og brukergrensesnitt.

Modellering

Eleverne oppdager hvordan spillfigurer, fiender, nivåstriper og spilltilstander modelleres som klare programmeringsstrukturer.

Implementering

Spillmekanismer vokser trinn for trinn: Scene, Regler, Inputs, Bevegelse, Kollisjoner, Poeng, Liv, HUD og Restartlogikk.

Refleksjon

I slutten vil koden bli revurdert: struktur, navn og kommentarer gjør det tydelig hvordan et prosjekt kan vedlikeholdes.

Forhåndsvisning: Kollisjoner og liv i Frogger

Kompetansebygging

Fra første objekt til spilltilstand

Malen viser ikke bare at et spill funker. Den gjør det tydelig hvordan interaktive systemer bygges: gjennom scener, gjentatte regler, hendelser, objektsmerker og tilstandsvariabler.

  • Grundlag for spilstruktur med scene, byggefasen og regler
  • Bevegelseslogikk og inputbehandling gjennom handlinger
  • Rasterbasert kontroll av spillfigurer med skjermbegrensninger
  • Tidsbasert fjendelserbevegelse med delta-tid
  • Kollisjonshåndtering, liv, poeng og spilltilstand
  • HUD, grafiske former og ren kodeorganisasjon

Struktur av byggeblokker

Tolv trinn fra scene til polering

Byggeblokkene er designet slik at læringen kan utvide spillet kontinuerlig. Hver enhet legger til en tydelig gjenkjennelig funksjon og styrker et spesifikt informatisk konsept.

Forhåndsvisning: Scene og regel: Frog beveger seg automatisk

Scene & Regel: Frog beveger seg automatisk

Introduksjon til grunnleggende struktur i et frameCraft-spill med scene, objekt og automatisk utført regel.

20 minutter🧩 1 oppgave
Forhåndsvisning: Frogger rasterkontroll og skjermbegrensninger

Frogger: Rasterkontroll og skjermbegrensninger

Implementering av rasterbasert kontroll gjennom handlinger, samt begrensning av spillfiguren til synlige spillobjekt.

20 minutter🧩 1 oppgave
Forhåndsvisning: Touch-Buttoner via VKNO

Touch-Buttoner: samme Frog-kontroll via VKNO

Alternativ inngangsmåte gjennom virtuelle knapper som utløser samme handlinger som tastaturkontroll.

20 minutter🧩 1 oppgave
Forhåndsvisning: Nivåoppsett med veikantmerker og skilt

Nivåoppsett: Veikantmerker og skilt

Bygging av spill landskap ved hjelp av hjelpefunksjoner og løkker for gjentatte nivåstrukturer.

25 minutter🧩 1 oppgave
Forhåndsvisning: Frogger Biler med dt og wrap-around

Frogger: Biler med dt & wrap-around

Tidbasert bevegelse for fiendtlige objekter og kontinuerlig bevegelse over skjermbegrensninger.

⏱️ 25 min🧩 1 oppgave
Forhåndsvisning: Frogger Biler data-drevet generering

Frogger: Biler data-drevet generering

Automatisert skapelse av flere fiender gjennom data-drevne strukturer og systematisk navngivningskonvensjoner.

⏱️ 35 min🧩 1 Aufgabe
Forhåndsvisning: Kollisjoner og Liv Frogger Logikk

Kollisjoner & Liv: Frogger-logikk

Implementering av kollisjonsevner og spilltilstandshåndtering gjennom liv, genopprettinger og spillevne.

20 minutter🧩 1 Task
Forhåndsvisning: Vinningsbetingelse og spilltilstand

Frogger: Vinningsbetingelse, poeng & Spilltilstand

Utvidelse med poengfordeling, vinningsbetingelse og tydelige spilltilstander gjennom et nivå.

25 minutter🧩 1 Oppgave
Forhåndsvisning: HUD og sluttekster med frameCraftUI

HUD & Sluttekster med frameCraftUI

Utvikling av en brukergrensesnitt for å vise liv, poeng og spillslutning.

20 minutter🧩 1 Oppgave
Forhåndsvisning: Stabil gjenstart med lås og knapp

Stabil gjenstart med lås og knapp

Stabilt nulstillingslogikk med låsemekanisme samt en innebygd gjenstartknapp etter spillslutning.

25 minutter🧩 1 Oppgave
Forhåndsvisning: Grafikkformer og koordinater

Frogger: Grafikkformer & Koordinater

Design av spillfigurer og fiender gjennom programmerede grafiske former i det lokale koordinatsystemet.

35 minutter🧩 1 Oppgave
Forhåndsvisning: Refaktorisering av struktur og navngivning i Frogger

Frogger-Refaktorisering: Struktur & Navngivning

Gjennomgang av koden gjennom tydelig strukturering, konsekvent navngivning og forklarende kommentarer.

⏱️ 35 min🧩 1 Oppgave

Eksempel fra kurset

Kollisjoner og liv vil være synlige som spilltilstand

I modulen "Kollisjoner & Liv" er den sentrale Frogger-logikken implementert: Når groven treffer en bil, trekkes et liv. Deretter avgjør spillets tilstand om figuren skal gjenopprettes eller spillet avsluttes.

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)

Bruk i undervisning

Direkte brukbar og lett å tilpasse

De tydelig strukturerte modulene gjør det enkelt å planlegge gjennomganger og integrere dem i eksisterende datalogikkurser. Lærere kan bruke malen umiddelbart, og tilpasse den etter gruppe, tidsramme og undervisningsmiljø.

For begynnere

Kursen starter med synlige bevegelser og enkle regler. Dette skaper rask suksessopplevelse og en klar innføring i frameCraft.

For prosjektarbeid

Modulene kan kobles sammen til å danne en lengre gjennomgangsserie, et prosjektdag eller en differensiert utvidelsestasker.

For egne varianter

Fra Frogger-basen kan nye nivåer, fiender, regler, grafikk, poengsystemer eller dine egne spillideer kunne oppstå.

Prøv nå

Bruk Frogger som mal for dine egne spillprosjekter

Denne malen støtter strukturert utvikling av et enkelt spill og illustrerer sentrale prinsipper for modellering og implementering av interaktive systemer.