Utbildningsutökning för pygame
Utbildningsutökning för pygame
frameCraft gör visuell programmering lämplig för undervisning
Utveckling av spel, simulationer och visuell programmering motiverar elever starkt. Direkt inmatning i klassiska ramverk är ofta tekniskt obetydligt i klassrummet.
frameCraft utökar pygame med ett didaktiskt reducerat lager: Lärare bygger interaktiva projekt snabbare och fokuserar på logik, algoritmer, tillstånd och modellering istället för motor detaljer.

Enklare inmatningar, synliga resultat och tydliga spelstrukturer: frameCraft bringer pygame närmare vardaglig undervisning.
Varför frameCraft?
Mindre motor detaljer, mer datorvetenskap
frameCraft är inte ett klassiskt spelmotorutökning, utan ett utbildningsverktyg för modern datorvetenskap. Biblioteket minskar tekniska hinder utan att dölja professionella koncept.
Direkt inmatning
Typiska pygame-komponenter som spel-loop, händelsehantering och renderning är didaktiskt kapslade. Detta skapar snabbare första körbara program.
Tydlig struktur
Scener, regler, objekt, kollisioner och tillstånd är synligt separerade. Detta stöder förståeligt kodstrukturering och modellering.
Projektbaserad lärande
Spel, simulationer och visuella modeller utvecklas steg för steg: från det första objektet till HUD, nivålogik och polish.

Pedagogiskt tilläggsvärde
Från synliga projekt uppstår professionella lärandemöjligheter
För tidig självständighet är särskilt avgörande i skolans sammanhang. När figurer rör sig, objekt kolliderar eller ett spelstadium synligt förändras, upplever eleverna abstrakta datavetenskapliga begrepp direkt.
Det möjliggör att främja centrala principer inom datavetenskap specifikt: modulering, abstraktion, algoritmiskt tänkande, datastrukturer och objektorienterad modellering.
Kurslandskap
Fyra spelmallar visar olika tillvägagångssätt för frameCraft
Frogger är ett särskilt väl förståeligt inledande exempel på rörelse, banor, nivåbyggande och kollisioner. De nya mallarna utvidgar spektrummet: Breakout fokuserar på reflektion och blockraster, Space Invaders arbetar med objektgrupper och pooler, Flappy Colors Flight kopplar ihop input, gravitation och ökad svårighetsgrad.

Frogger komplett
Kursen tar dig från den första scenen till rörelse, touch-knappar, data-drivet fordon, liv, segringsvillkor, HUD, omstart och grafisk polish.
Till kursen
Programmering av Breakout
Breakout sammanfattar spelutveckling i paddlar, bollar, blockgrider, reflektioner, poäng, liv, dödszoner och återstartlogik.
Till kursen
Flappy Colors Flight
Mallen kombinerar synliga spelfigurer, plana inmatningar, gravitet, rörpar, entitetspooler, poängräkning och ökande svårighetsgrad.
Till kursen
Rymdinvaderare
Arcadeprototypen visar hur skott, fiendegrupper, inbäddade loopar, träffar, poäng, tillstånd och effekter samverkar.
Till kursenDidaktisk val
Varje mall har ett annat professionellt fokus
Kurserna är inte bara varianter av samma spelprincip. De kan väljas ut enligt olika undervisningsmål, grupper, tidsramar och fokuseringar.
Frogger: Tillstånd i spelets fält
Användbart när trafikbanor, rörelse i diskreta riktningar, nivågränser, liv och vindestillanden är i fokus.
Breakout: Kollisioner som ett centralt regelverk
Idealiskt för enheter på reflektion, träfflogik, blockgrider, räknare, dödszoner och tydliga spelets slutmekanismer.
Flappy: Rörelse och svårighetsgrad
Synlig för hastighet, gravitet, tidsbaserade uppdateringar, hinderåteranvändning, enskilda poängräkningar och balansering.
Space Invaders: Organisera objektantalet
Starkt för loopar, inbäddade loopar, numrerade entiteter, skottpooler, fiendegrupper, träffhantering och effektpooler.
Kod blir läsbar
Spelregler är i fokus
I frameCraft diskuteras motorinternala detaljer inte först. Den centrala idén är direkt synlig i koden: objekt har etiketter, tillstånd ligger i scenen, regler och kollisioner ändrar spelet.
- Etiketter kopplar objekt logiskt med varandra.
- ctx.vars lagrar spelstater som liv, poäng eller game over.
- Kollisionshanterare gör händelselogik tydligt läsbar.
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")Typiska undervisningsprojekt
frameCraft är inte begränsat till arcade-spel
Samma struktur kan användas för klassiska spel, simulationer, matematiska visualiseringar och kreativa experiment. På detta sätt kan frameCraft användas både i datavetenskapsskolor och inom MINT-kontexter.
Klassiska spel
Snake, Breakout, Tetris, Pong, Frogger eller små arcade-spel är särskilt lämpliga för att modellera rörelse, kollisioner och tillstånd.
Simulationer
Rörelse, hastighet, impuls, kollisioner, vågor, svängningar eller agentmodeller är synliga som dynamiska system.
Kreativa visualiseringar
Symmetrier, ornamentik, färgrymder, slumpbilder eller databilder kopplar programmering med design.

Lämpligt för skolor
Baserat på webbläsare, strukturerat och flexibelt att använda
Genom kombinationen av pygame:s närhet, webbläsarbaserad utgång i CodeRoom och didaktiskt reducerad API blir frameCraft ett praktiskt verktyg för undervisning, projekt, differentiering och ersättningslektioner.
Lärare får fördel av tydliga byggblock och snabbare projektstart. Eleverna får fördel av synliga resultat, kreativa uppgifter och tillgång som förblir fachligt kopplad.
Nästa steg
frameCraft gör pygame till ett verktyg för aktiv datavetenskapundervisning
Tillgänglig, strukturerad och projektbaserad: elever utvecklar egna interaktiva program och förstår centrala begrepp som villkor, loopar, funktioner, tillstånd, kollisioner, datastrukturer och modellering.