🚀 Situation déclenchante
Observe, interroge-toi et formule ta problématique avant de commencer la séquence.
Chaque année, des milliers de jeunes participent à des concours de création de jeux vidéo. Ces jeux sont programmés grâce à des algorithmes. Mais comment passer d'une idée de jeu à un programme qui fonctionne vraiment sur une console ?
À partir de la situation, complète la phrase (directement dans la page) :
Avant de commencer, écris ce que tu penses déjà savoir. Tu pourras vérifier à la fin de la séquence !
📖 N1 – Connaître
Apprendre les définitions : algorithme, séquence, boucle, condition, variable, événement. Vidéos à visionner.
🔎 N2 – Comprendre
Analyser des programmes de jeux et expliquer leur fonctionnement. Exercices de compréhension.
🛠 N3 – Appliquer
Modifier et programmer un jeu existant avec Arcade MakeCode. Activité pratique de 60 minutes.
🧠 N4 – Maîtriser
Analyser un programme complet, justifier des choix, résoudre des problèmes complexes de type DNB.
Connaître les notions essentielles de programmation
Avant de programmer un jeu, tu dois maîtriser les briques de base. Commence par visionner les vidéos, puis réponds aux activités.
Visionne chaque vidéo attentivement avant de répondre aux activités. Prends des notes !
Écrire, tester, corriger et exécuter un programme (IP-2-2)
Comprendre les étapes de la mise au point d'un programme commandant un système réel.
Notions d'algorithme et de programme (IP-2-3)
Définir un algorithme, comprendre la différence entre algorithme et programme.
Notion de variable informatique (IP-2-3)
Comprendre ce qu'est une variable, comment la déclarer et la modifier dans un programme.
Séquences d'instructions, boucles et conditions (IP-2-3)
Maîtriser les structures algorithmiques : séquence, répéter, tant que, si… sinon…
Complète chaque définition en choisissant le bon mot dans la liste déroulante. Liste : algorithme · boucle · condition · événement · programme · séquence · variable
1. Un est une suite d'instructions ordonnées permettant de résoudre un problème. Il est indépendant du langage de programmation.
2. Un est la traduction d'un algorithme dans un langage compréhensible par un ordinateur ou une console. Il peut être écrit en blocs (Makecode) ou en texte (Python).
3. Une est un espace mémoire qui stocke une valeur modifiable pendant l'exécution du programme. Ex : score ← 0.
4. Une est un ensemble d'instructions exécutées les unes après les autres, dans l'ordre, sans condition ni répétition.
5. Une permet de répéter un bloc d'instructions un certain nombre de fois (« répéter N fois ») ou tant qu'une condition est vraie (« tant que… faire »).
6. Une est une instruction du type « Si… Alors… Sinon… » qui permet de déclencher une action uniquement si une situation particulière est vérifiée.
7. Un est un phénomène (appui sur un bouton, collision, minuterie…) qui déclenche une action dans le programme. Ex : lorsque le joueur touche un ennemi.
Pour chaque affirmation, choisis le bon type d'événement ou de structure.
1. Dans un jeu, « quand le joueur appuie sur le bouton A » correspond à quel type d'événement ?
2. « Quand la vie du joueur atteint 0 → game over » est un exemple de…
3. Dans Arcade MakeCode, « quand mise à jour du jeu chaque 2000 ms » est quel type d'événement ?
4. Laquelle de ces instructions est une boucle ?
5. La variable score vaut 0 au départ. On exécute « modifier score de 10 » deux fois. Quelle est la valeur de score ?
🎓 Ce que je dois savoir pour le Brevet – N1
Comprendre des programmes de jeux vidéo
Tu vas analyser des extraits de programmes Arcade MakeCode. Utilise les fiches de connaissances pour t'aider.
Si tu n'as pas encore visionné toutes les vidéos du N1, fais-le maintenant. Elles sont indispensables pour comprendre les programmes ci-dessous.
Voici un extrait d'algorithme du jeu Maze (Labyrinthe) d'Arcade MakeCode. Lis-le attentivement.
📋 Algorithme du jeu Maze
Vue du jeu Labyrinthe – Arcade MakeCode
❓ Questions d'analyse – réponds dans ton cahier :
Q1. Combien de variables sont définies au démarrage du jeu ? Donne leur nom et valeur initiale.
Q2. Quel type d'événement déclenche la perte d'une vie ? Justifie ta réponse.
Q3. Que se passe-t-il si le joueur perd toutes ses vies ? Retrouve l'instruction dans l'algorithme.
Q4. Identifie les types de structures algorithmiques utilisées dans ce programme (séquence, boucle, condition, événement).
Événement : « quand Player chevauche Enemy » → déclenche une action.
Condition : « si vie = 0 alors game over PERDU » et « si score = 50 alors VICTOIRE ».
Pas de boucle explicite ici, mais le moteur du jeu tourne en boucle permanente (« toujours »).
Ces questions portent sur les instructions MakeCode vues dans les documents de cours.
1. Quelle instruction permet de faire apparaître un ennemi à un endroit aléatoire au démarrage ?
2. Que fait l'instruction « modifier score de 10 » dans un jeu ?
3. Dans le bloc « répéter 4 fois : définir pièces à sprite de type Food → placer pièces sur une tuile aléatoire », combien de pièces sont créées ?
4. Pour qu'un monstre suive le joueur automatiquement, quelle instruction utilise-t-on ?
5. Quel est le rôle du bloc « si score = 10 alors : afficher « Bravo niveau 2 » → définir plan des tuiles à tilemap2 → placer mario sur une tuile aléatoire » ?
🎓 Ce que je dois savoir pour le Brevet – N2
Appliquer : modifier et programmer un jeu vidéo
Pas de vidéo ici – tu mobilises tout ce que tu as appris. Cette partie comprend des activités de réflexion ET une activité pratique de programmation de 60 minutes sur Arcade MakeCode.
6 affirmations portant sur l'ensemble des notions vues. Aucune ressource autorisée !
❓ Q1 · Quelle est la valeur initiale de la variable vies au démarrage du programme ?
❓ Q2 · Que se passe-t-il quand le sprite joueur touche une pièce ?
❓ Q3 · Combien de vies reste-t-il après avoir touché 2 fois un ennemi ?
❓ Q4 · À quel moment la commande « fin du jeu » se déclenche-t-elle ?
❓ Q5 · Quelle structure permet de surveiller en permanence les collisions dans la boucle principale ?
❓ Q6 · Vrai ou Faux ? « Dans ce programme, le joueur peut collecter plusieurs pièces à la suite et accumuler des points. »
🎮 Activité N3-C – Activité pratique : Modifier et améliorer le jeu Maze (1h)
Tu vas ouvrir Arcade MakeCode, charger le jeu Labyrinthe (Maze), identifier ses défauts et lui apporter des améliorations grâce aux instructions essentielles. Travaille en îlot si possible.
Ouvre arcade.makecode.com et réalise le tutoriel Labyrinthe (Maze). Joue au jeu et note ses défauts dans ton cahier :
Le personnage passe à travers les murs · Pas d'ennemi…
Maze
Choisis au moins 2 modifications à apporter. Inspire-toi des instructions essentielles ci-dessous (voir étape 2) :
Ajouter un ennemi · Ajouter des pièces à collecter…
Interface MakeCode Arcade
Jeu amélioré : ennemi, pièces, porte de niveau 2
Dans Arcade MakeCode, ouvre le jeu Maze et ajoute les blocs correspondant aux améliorations choisies. Teste régulièrement ton jeu dans le simulateur. N'oublie pas de sauvegarder régulièrement (bouton Télécharger ou copier le lien de partage).
Pour chaque amélioration, vérifie que le comportement correspond à ce que tu voulais. Remplis le tableau ci-dessous dans ton cahier :
| Modification | Comportement attendu | ✅ Validé ? |
|---|---|---|
| Ennemi ajouté | Le monstre suit le joueur | □ Oui □ Non |
| Pièces ajoutées | Collecte donne +10 points | □ Oui □ Non |
| Niveau 2 | Porte s'ouvre à 10 points | □ Oui □ Non |
| Monstre aléatoire | Apparaît toutes les 2 s | □ Oui □ Non |
📤 Partager ton jeu
Dans Arcade MakeCode : clique sur le bouton « ••• » puis « Partager » pour obtenir un lien ou un QR Code. Communique ce lien à un camarade.
🎓 Ce que je dois savoir pour le Brevet – N3
Maîtriser : analyser et justifier des choix de programmation
Niveau expert – tu analyses, tu justifies, tu corriges et tu proposes des améliorations raisonnées. Pas de ressource autorisée.
Voici le programme complet d'un jeu d'arcade simplifié. Analyse-le et réponds aux questions.
Le cahier des charges du jeu évolue. Pour chaque nouvelle exigence, propose la modification de programme correspondante.
Q1. Le concepteur veut que le joueur gagne uniquement s'il atteint 50 points ET s'il a encore au moins 2 vies. Modifie la condition de victoire.
si score = 50 ET vie ≥ 2 alors game over VICTOIRESi le joueur a moins de 2 vies à 50 points, il ne gagne pas encore.
Q2. Le monstre est trop rapide pour les débutants. Propose une modification pour réduire sa vitesse de moitié.
définir que monstre suive mario avec vitesse 15 (au lieu de 30).On peut aussi utiliser « quand mise à jour du jeu chaque 2000 ms » pour changer la vitesse dynamiquement.
Q3. On veut qu'une porte de sortie apparaisse seulement quand le joueur a collecté 3 pièces. Écris l'algorithme de cet événement.
Ajouter une variable :
definir nb_pieces ← 0Dans le bloc « quand Player chevauche Food » :
modifier nb_pieces de 1Ajouter :
si nb_pieces = 3 alors définir Porte à plan des tuiles col 5 ligne 6→ La porte apparaît sur le plan de tuiles à une coordonnée choisie quand 3 pièces sont collectées.
Q4. (Niveau expert) Explique pourquoi la décomposition en sous-problèmes est essentielle dans ce programme. Cite au moins 3 avantages concrets.
1. Lisibilité : chaque bloc gère une fonctionnalité distincte (collision, score, niveau…). On comprend rapidement le rôle de chaque partie.
2. Facilité de test : on peut tester chaque bloc indépendamment (ex. tester la collision sans toucher au score).
3. Facilité de modification : changer la vitesse de l'ennemi ne risque pas d'affecter le score ou les pièces.
4. Travail en équipe : chaque membre de l'îlot peut travailler sur un bloc différent simultanément.
📝 Synthèse de la séquence
Consolide et vérifie tes acquis avant les révisions et le brevet.
1. Quelle est la différence entre un algorithme et un programme ? Donne un exemple lié au jeu vidéo.
2. Cite et explique les 3 structures algorithmiques avec un exemple issu d'un jeu vidéo pour chacune.
3. Décris en 5 étapes la démarche pour modifier un programme existant : de l'analyse du défaut à la validation.
4. Un jeu comporte les blocs suivants : au démarrage, quand Player chevauche Enemy, quand bouton A appuyé, quand mise à jour chaque 1000 ms. Pour chaque bloc, indique quel type d'événement le déclenche.
5. Pourquoi est-il important de tester un programme dans plusieurs situations différentes ? Donne 2 exemples de cas à tester dans un jeu de labyrinthe.
🧮 Algorithme & Programme (N1)
🔁 Structures & Événements (N2)
🧩 Décomposition (N3/N4)
Télécharge ces fiches pour consolider tes connaissances et préparer le brevet.
Fiche IP-2-2-C1 – Écrire, tester, corriger un programme
📥 TéléchargerFiche IP-2-3-C1 – Notions d'algorithme et de programme
📥 TéléchargerFiche IP-2-3-C2 – Notion de variable informatique
📥 TéléchargerFiche IP-2-3-C3 – Séquences, boucles, conditions
📥 TéléchargerFiche IP-2-1-C1 – Analyser le comportement d'un système
📥 Télécharger🎬 Toutes les ressources de la séquence
Retrouve ici toutes les vidéos, fiches et liens utilisés dans cette séquence.
IP-2-2 · Écrire, tester, corriger et exécuter un programme
Les étapes de mise au point d'un programme commandant un système réel.
IP-2-3 · Notions d'algorithme et de programme
Définir, structurer et comprendre un algorithme.
IP-2-3 · Notion de variable informatique
Comprendre, déclarer et modifier des variables.
IP-2-3 · Séquences, boucles et conditions
Maîtriser les structures algorithmiques fondamentales.
Arcade MakeCode – Créer et modifier un jeu
🔗 Ouvrir Arcade MakeCodeFiche IP-2-2-C1 – Écrire, tester, corriger un programme
📥 TéléchargerFiche IP-2-3-C1 – Notions d'algorithme et de programme
📥 TéléchargerFiche IP-2-3-C2 – Notion de variable informatique
📥 TéléchargerFiche IP-2-3-C3 – Séquences, boucles, conditions
📥 TéléchargerFiche IP-2-1-C1 – Analyser le comportement d'un système
📥 Télécharger🚀 Révisions interactives
Utilise ces activités pour te préparer aux évaluations et au brevet. Aucune ressource autorisée !
Revoir les définitions (10 min)
Relire les fiches IP-2-3-C1 et C2. Savoir définir : algorithme, programme, variable, séquence, boucle, condition, événement.
Analyser un programme (15 min)
Reprendre l'activité N2-A. Expliquer chaque instruction à voix haute, identifier les structures utilisées.
Vérifier les flashcards (15 min)
Parcourir toutes les flashcards ci-dessous. Se fixer un objectif : répondre correctement à 8/10 avant de passer à la suite.
Quiz de révision (10 min)
Répondre au quiz ci-dessous sans aucune aide. Analyser les erreurs et revoir les points faibles.
Clique sur la carte pour voir la réponse. Utilise les boutons pour naviguer.
1. Quelle instruction permet de faire revenir le joueur à une position aléatoire après avoir touché un ennemi ?
2. La variable score vaut 40. On exécute « si score = 50 alors VICTOIRE ». Que se passe-t-il ?
3. Dans quel bloc place-t-on les instructions d'initialisation (score, vie, sprites) ?
4. Un jeu comporte l'instruction « quand mise à jour du jeu chaque 1000 ms : faire apparaître un ennemi ». Quel type d'événement est-ce ?
5. On veut créer 5 pièces au démarrage. Quelle structure utiliser ?
6. La décomposition en sous-problèmes d'un jeu vidéo signifie :
🎓 Vers le Brevet (DNB)
Les sujets officiels du DNB te demandent de lire, analyser et modifier des programmes. Entraîne-toi !
📖 Lire
Comprendre un programme écrit en blocs ou en pseudo-code et expliquer ce qu'il fait.
✏️ Modifier
Changer une valeur, une condition ou une instruction pour respecter un cahier des charges modifié.
🔍 Analyser
Identifier les variables, les types de structures (boucle, condition) et les événements dans un programme.
🧩 Compléter
Ajouter les instructions manquantes dans un programme pour qu'il fonctionne correctement.
Ce sujet porte sur la programmation d'un système d'aide au stationnement. Tu devras analyser un algorithme, identifier des variables et modifier des instructions conditionnelles.
Ce sujet porte sur la programmation d'un robot nettoyeur autonome. Tu analyseras son programme, ses capteurs et modifieras son comportement.
Entraîne-toi sur des sujets officiels de technologie.
📋 Liste officielle des sujets DNB – Technologie (Académie de Limoges)📋 Programme à analyser :
définir score ← 0
définir vie ← 3
définir joueur ← sprite type Player
déplacer joueur avec les boutons
définir ennemi ← sprite type Enemy
définir que ennemi suive joueur à vitesse 40
Quand joueur chevauche ennemi :
modifier vie de -1
placer joueur sur une tuile aléatoire
si vie = 0 alors : game over PERDU
Quand bouton A appuyé :
modifier score de 10
si score = 50 alors : game over GAGNÉ
1. Combien de variables numériques sont initialisées au démarrage ?
2. Quel type d'événement est « Quand bouton A appuyé » ?
3. Le joueur appuie 6 fois sur A sans toucher l'ennemi. Quelle est la valeur du score ?
4. Que se passe-t-il lorsque le joueur touche l'ennemi avec vie = 1 ?
📋 Situation :
Un élève a commencé à programmer un jeu de collecte de pièces dans MakeCode Arcade. Il manque des instructions. Lis le programme incomplet et réponds aux questions.
définir score ← 0
définir joueur ← sprite type Player
déplacer joueur avec les boutons
⬜ [instruction A manquante] ← créer 4 pièces aléatoirement
Quand joueur chevauche Food :
modifier score de ⬜ [valeur B manquante]
détruire otherSprite
si score = 40 alors : game over GAGNÉ
1. Quelle est l'instruction A qui permet de créer 4 pièces (sprites Food) placées aléatoirement ?
2. Sachant que le jeu se termine quand score = 40 et qu'il y a 4 pièces, quelle est la valeur B à ajouter au score à chaque collecte ?
3. On veut ajouter un ennemi qui fait perdre une vie au contact. Où doit-on ajouter ce nouveau bloc ?
4. La structure « répéter 4 fois » utilisée pour créer les pièces est un exemple de :