Extension éducative pour pygame

Extension éducative pour pygame

frameCraft rend la programmation visuelle adaptée à l’enseignement

Le développement de jeux, les simulations et la programmation visuelle motivent particulièrement les élèves. L’accès direct aux frameworks classiques n’est souvent pas nécessaire techniquement en classe.

frameCraft étend pygame avec une couche didactiquement réduite : Les apprenants construisent des projets interactifs plus rapidement et se concentrent sur la logique, les algorithmes, les états et le modèle au lieu des détails du moteur.

frameCraft comme extension éducative pour pygame

Entrées plus simples, résultats visibles et structures de jeu claires : frameCraft rapproche pygame de la vie quotidienne en classe.

Pourquoi frameCraft ?

Moins de détails du moteur, plus d'informatique

frameCraft n’est pas une extension classique de moteur de jeux, mais un outil éducatif pour l’enseignement moderne en informatique. La bibliothèque réduit les obstacles techniques sans cacher les concepts professionnels.

1

Accès direct

Les composants typiques de pygame, tels que la boucle de jeu, la gestion des événements et le rendu, sont didactiquement encapsulés. Cela permet d’obtenir plus rapidement des programmes exécutables.

2

Structure claire

Scènes, règles, objets, collisions et états sont visiblement séparés. Cela soutient une organisation du code compréhensible et un modèle cohérent.

3

Apprentissage orienté projet

Jeux, simulations et modèles visuels évoluent étape par étape : de l'objet initial au HUD, à la logique de niveau et aux finitions.

Principe frameCraft : scènes, objets, règles et résultat visible

Valeur pédagogique ajoutée

Des projets visibles génèrent des opportunités d'apprentissage professionnel

L'autonomie précoce est particulièrement décisive dans le contexte scolaire. Lorsque les figures se déplacent, les objets entrent en collision ou que l'état du jeu change visiblement, les apprenants expérimentent immédiatement des concepts abstraits de science informatique.

Cela permet de promouvoir spécifiquement les principes centraux de la science informatique : modularisation, abstraction, pensée algorithmique, structures de données et modélisation orientée objet.

Landscape des cours

Quatre templates de jeux illustrent différentes approches de frameCraft

Frogger reste une entrée particulièrement bien comprise pour la mobilité, les voies, la construction de niveaux et les collisions. Les nouveaux templates élargissent le spectre : Breakout se concentre sur la réflexion et le raster de blocs, Space Invaders travaille avec des groupes d'objets et des pools, Flappy Colors Flight relie l'entrée, la gravité et une difficulté croissante.

Image prévisualisation du cours Frogger

Frogger complet

12 composantsNiveau & Collisions

Ce cours vous conduit de la première scène à la mobilité, aux boutons tactiles, aux voitures pilotées par des données, aux vies, aux conditions de victoire, au HUD, aux rechargements et aux finitions graphiques.

Vers le cours
Aperçu du cours Breakout

Programmation Breakout

6 modulesBalle & Réflexion

Breakout condense le développement de jeu en raquettes, balles, grilles de blocs, réflexions, points, vies, zones de mort et logique de reprise.

Vers le cours
Aperçu du cours Flappy Colors Flight

Vol de Flappy Colors

12 modulesPhysique & Équilibre

Le modèle combine des figures de jeu visibles, une entrée plate, la gravité, des paires de tuyaux, des pools d'entités, un comptage de points et une difficulté croissante.

Vers le cours
Aperçu du cours Space Invaders

Invaders de l'espace

11 modulesPools & Groupes

Le prototype arcade montre comment les tirs, les groupes d'ennemis, les boucles imbriquées, les impacts, les points, les états et les effets fonctionnent ensemble.

Vers le cours

Sélection pédagogique

Chaque modèle met un focus professionnel différent

Les cours ne sont pas simplement des variantes du même principe de jeu. Ils peuvent être sélectionnés selon différents objectifs pédagogiques, groupes, délais et focuses.

Frogger : États dans le champ de jeu

Adapté lorsque les voies de circulation, les déplacements dans des directions discrètes, les limites de niveau, les vies et les conditions de victoire sont en focus.

Breakout : Les collisions comme règle centrale

Idéal pour les unités sur la réflexion, la logique d'impact, les grilles de blocs, les compteurs, les zones de mort et des mécanismes clairs de fin de jeu.

Flappy : Mouvement et difficulté

Visible pour la vitesse, la gravité, les mises à jour basées sur le temps, le recyclage des obstacles, le comptage en un point, et l'équilibrage.

Space Invaders : Organisation des quantités d'objets

Idéal pour les boucles, les boucles imbriquées, les entités numérotées, les pools de tirs, les groupes d’ennemis, le traitement des impacts et les pools d’effets.

Le code devient lisible

Les règles du jeu sont au centre

Dans frameCraft, les détails internes de l'engine ne sont pas abordés en premier. L'idée centrale est directement visible dans le code : les objets possèdent des tags, les états se trouvent dans la scène, et les règles ainsi que les collisions modifient le jeu.

  • Tags Relier logiquement les objets entre eux.
  • ctx.vars Stockez les états du jeu tels que les vies, les points ou la fin de partie.
  • Gestionnaires de collisions Rendre explicitement l'architecture logique des événements.
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")

Projets pédagogiques typiques

frameCraft ne se limite pas aux jeux d’arcade

La même structure peut être utilisée pour les jeux classiques, les simulations, les visualisations mathématiques et les expériences créatives. Ainsi, frameCraft peut être utilisé à la fois dans les classes de sciences informatiques et dans des contextes MINT.

Jeux classiques

Snake, Breakout, Tetris, Pong, Frogger ou de petits jeux d’arcade sont particulièrement adaptés pour modéliser les mouvements, les collisions et les états.

Simulations

Le mouvement, la vitesse, l'impulsion, les collisions, les ondes, les oscillations ou les modèles d’agents apparaissent comme des systèmes dynamiques.

Visualisations créatives

Les symétries, les ornements, les espaces de couleurs, les images aléatoires ou les visualisations de données relient le codage à la conception.

Module Space Invaders avec impacts, points et feedback de jeu visible

Adapté aux écoles

Basé sur navigateur, structuré et flexible à utiliser

Grâce à la combinaison de pygame proximity, d’exécution basée sur navigateur dans CodeRoom et d’une API didactiquement réduite, frameCraft devient un outil pratique pour l’enseignement, les projets, la différenciation et les cours de remplacement.

Les enseignants bénéficient de blocs de construction clairs et d’un démarrage plus rapide des projets. Les élèves bénéficient de résultats visibles, de tâches créatives et d’un accès restant fidèlement connecté à leur domaine.

Étape suivante

frameCraft rend pygame un outil pour l’enseignement actif en informatique

Accessible, structuré et orienté projet : les élèves développent leurs propres programmes interactifs et comprennent des concepts centraux tels que les conditions, les boucles, les fonctions, les états, les collisions, les structures de données et le modèle.