Utdanningsutvidelse for pygame
Utdanningsutvidelse for pygame
frameCraft gjør visuell programmering egnet for undervisning
Spillutvikling, simuleringer og visuell programmering motiverer elever sterkt. Direkte innføring i klassiske rammer er ofte teknisk overflødig i klasserommet.
frameCraft utvider pygame med et didaktisk redusert lag: Lærere bygger interaktive prosjekter raskere og fokuserer på logikk, algoritmer, tilstande og modellering i stedet for motor detaljer.

Enklere innføring, synlige resultater og klare spillstrukturer: frameCraft bringer pygame nærmere daglig skoleliv.
Hvorfor frameCraft?
Mindre motor detaljer, mer datalogi
frameCraft er ikke en klassisk spillmotorutvidelse, men et utdanningsverktøy for moderne datalogiundervisning. Biblioteket reduserer tekniske hindringer uten å skjule profesjonelle konsepter.
Direkte innføring
Vanlige pygame-komponenter som spill-løkke, hendelseshåndtering og rendering er didaktisk kapsulert. Dette gir raskere første eksekverbare programmer.
Klar struktur
Scener, regler, objekter, kollisjoner og tilstander er synlig skilt. Dette støtter forståelig kodeorganisasjon og modellering.
Læringsorientert prosjektarbeid
Spill, simuleringer og visuelle modeller vokser trinn for trinn: fra første objekt til HUD, nivålogikk og polisering.

Pedagogisk verdi
Fra synlige prosjekter oppstår profesjonelle læringssituasjoner
Tidlig selvaktferd er spesielt avgjørende i skolekonteksten. Når figurer beveger seg, objekter kolliderer eller et spilltilstand synlig endres, opplever elevene abstrakte datalogiske konsepter umiddelbart.
Dette gjør det mulig å fremme sentrale prinsipper innenfor datalogi spesifikt: modulering, abstraksjon, algoritmisk tenkning, datastrukturer og objektorientert modellering.
Kurslandskap
Fire spillmalere viser ulike tilnærminger til frameCraft
Frogger er en spesielt godt forståelig innføring i bevegelse, spor, nivåbygging og kollisjoner. De nye malene utvider spekteret: Breakout fokuserer på refleksjon og blokkraster, Space Invaders jobber med objektgrupper og pooler, Flappy Colors Flight kobler input, tyngdekraft og økende vanskelighetsnivå.

Frogger fullstendig
Kursen tar deg fra første scene til bevegelse, touchknapper, datastyrt biler, liv, seiersbetingelser, HUD, omstart og grafisk polisering.
Til kursen
Programmering av Breakout
Breakout forenkler spillutvikling til paddler, baller, blokkgrider, refleksjoner, poeng, liv, dødsområder og restartlogikk.
Til kursen
Flappy Colors Fly
Malen kombinerer synlige spillfigurer, flat input, tyngdekraft, rørpar, entitetspooler, poengtelling og økende vanskelighetsnivå.
Til kursen
Rymdeinvaderer
Arcade-prototypen viser hvordan skudd, fiendegrupper, indre løkker, treff, poeng, tilstand og effekter samarbeider.
Til kursenDidaktisk valg
Hver mal setter et annet profesjonelt fokus
Kursene er ikke bare variasjoner av samme spillprinsipp. De kan velges ut ifølge ulike undervisningsmål, grupper, tidsrammer og fokuser.
Frogger: Tilstander i spillegulvet
Passende når trafikkkanaler, bevegelse i diskrete retninger, nivågrænser, liv og seiersbetingelser er i fokus.
Breakout: Kollisjoner som en sentral regel
Ideelt for enheter på refleksjon, trefflogikk, blokkgrider, tellere, dødsområder og klare spillsluttmekanismer.
Flappy: Bevegelse og vanskelighetsnivå
Synlig for hastighet, tyngdekraft, tidsbasert oppdatering, hindringssyklus, enkelt punktregning og balansering.
Space Invaders: Organisere objektmengder
Sterk for løkker, indre løkker, nummererte enheter, skuddpooler, fiendegrupper, treffbehandling og effektpooler.
Koden blir lesbar
Spillregler er i fokus
I frameCraft diskuteres ikke motorens interne deler først. Hovedideen er direkte synlig i koden: objekter har merker, tilstandene ligger i scenen, regler og kollisjoner endrer spillet.
- Merker koble sammen objekter logisk med hverandre.
- ctx.vars lagre spilltilstander som liv, poeng eller game over.
- Kollisjonshåndtere gjør hendelseslogikk eksplisitt lesbar.
import frameCraft as fc
FROG_START_X = 160
FROG_START_Y = 180
AUTO_WIDTH = 46
AUTO_HEIGHT = 20
SPIEL("Frogger - Kollisionen", fenster=(320, 200), fps=30, hintergrund=(30, 120, 40))
SZENE("haupt", leben=5, tot=False)
@SZENE_AUFBAU("haupt")
def aufbau(ctx):
OBJEKT("frosch", pos=(FROG_START_X, FROG_START_Y), tag="frosch")
RECHTECK("frosch", 24, 24, ausloser=True)
OBJEKT("auto_0", pos=(40, 100), tag="auto")
RECHTECK("auto_0", AUTO_WIDTH, AUTO_HEIGHT, ausloser=True)
GESCHWINDIGKEIT("auto_0", 90, 0)
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)
fc.START_STANDALONE("haupt")Vanlige undervisningsprosjekter
frameCraft er ikke begrenset til arcade-spill
Samme struktur kan brukes for klassiske spill, simuleringer, matematiske visualiseringer og kreative eksperimenter. På denne måten kan frameCraft brukes både i datalogikklasser og i MINT-kontekster.
Klassiske spill
Snake, Breakout, Tetris, Pong, Frogger eller små arcade-spill er spesielt veilett for å modellere bevegelse, kollisjoner og tilstander.
Simuleringer
Bevegelse, hastighet, impuls, kollisjoner, bølger, svingninger eller agentmodeller er synlige som dynamiske systemer.
Kreative visualiseringer
Symmetrier, ornamentikk, fargeområder, tilfeldige bilder eller databilder kobler programmering med design.

Egnet for skoler
Basert på nettleser, strukturert og fleksibel å bruke
Gjennom kombinasjonen av pygame-nærhet, nettleserbasert utøvelse i CodeRoom og didaktisk redusert API blir frameCraft et praktisk verktøy for undervisning, prosjekter, differensiering og substitusjon.
Lærere får fordelen av klare byggeblokker og raskere prosjektstart. Elevene får fordelen av synlige resultater, kreative oppgaver og tilgang som forblir faglig koblet.
Neste trinn
frameCraft gjør pygame til et verktøy for aktiv datalogiundervisning
Tilgjengelig, strukturert og prosjektbasert: elever utvikler egne interaktive programmer og forstår sentrale konsepter som betingelser, løkker, funksjoner, tilstander, kollisjoner, datastrukturer og modellering.