Après avoir découvert le défi dans notre premier article, place au résultat ! Lénaïc, Louis, Tiago et Tom, élèves de Terminale spécialité NSI au lycée Lamarck d’Albert, ont réussi à programmer une version du jeu de stratégie Quarto en Python, fonctionnant dans une console.

Une belle étape qui illustre concrètement ce que les élèves apprennent à réaliser en spécialité Numérique et Sciences informatiques.

Du défi au programme qui fonctionne

Dans notre premier article consacré au projet Quarto, nous présentions le défi lancé aux élèves : transformer un jeu de société en un véritable programme informatique.

Le principe de Quarto est simple à comprendre, mais sa programmation demande de la réflexion.

Sur un plateau de 16 cases, deux joueurs manipulent des pièces possédant chacune quatre caractéristiques. Pour gagner, il faut aligner quatre pièces partageant au moins une caractéristique commune.

Une particularité rend ce jeu encore plus intéressant : c’est l’adversaire qui choisit la pièce que l’on doit placer !

Il fallait donc traduire ces règles en instructions compréhensibles par un ordinateur.

Aujourd’hui, le défi est relevé : une première version du jeu fonctionne en Python !

Un véritable jeu, même sans interface graphique

Pour cette première réalisation, les élèves ont choisi de faire fonctionner leur programme en mode console.

Concrètement, le jeu se déroule dans une fenêtre où les informations sont affichées sous forme de texte. Les joueurs interagissent avec le programme en saisissant leurs choix au clavier.

Pas de boutons colorés ni d’animations sophistiquées : l’essentiel est ailleurs.

Le programme doit représenter le plateau, gérer les pièces, prendre en compte les actions des joueurs et appliquer les règles du jeu.

C’est une étape fondamentale en informatique : faire fonctionner la logique du programme avant de chercher à améliorer son apparence.

Un jeu en console peut sembler visuellement simple. Pourtant, derrière les lignes de texte se cache un véritable travail de programmation.

Programmer, c’est avant tout résoudre des problèmes

Pour passer du jeu de société au programme Python, les élèves ont dû réfléchir à plusieurs questions :

  • Comment représenter les 16 cases du plateau dans un programme ?

  • Comment identifier les différentes pièces et leurs caractéristiques ?

  • Comment organiser les tours des joueurs ?

  • Comment vérifier les choix effectués ?

  • Comment déterminer si un joueur a réalisé un alignement gagnant ?

Ces questions montrent que programmer ne consiste pas simplement à écrire des instructions Python.

Il faut d’abord analyser un problème, imaginer une solution, organiser les différentes étapes, puis les traduire en code.

C’est précisément l’une des compétences développées en spécialité NSI.

Un projet réalisé en équipe

Autre aspect important : Lénaïc, Louis, Tiago et Tom ont travaillé ensemble pour relever ce défi.

La réalisation d’un programme collectif nécessite une organisation particulière.

L’idée est de décomposer un problème complexe en plusieurs parties plus simples. Chaque membre de l’équipe peut alors prendre en charge une partie du travail, avant de réunir les différentes contributions.

Mais programmer à plusieurs ne signifie pas simplement assembler quatre morceaux de code.

Les différentes fonctions doivent être compatibles, échanger correctement les informations et fonctionner ensemble.

Il faut donc communiquer, définir des règles communes, tester et parfois corriger ce qui ne fonctionne pas comme prévu.

Cette démarche permet de découvrir une dimension essentielle de l’informatique : le développement logiciel est aussi un travail collectif.

Découvrez leur réalisation en vidéo !

Plutôt que de vous présenter uniquement des extraits de code, nous vous proposons de découvrir le résultat du travail des élèves.

🎥 Voir la vidéo : Quarto programmé en Python par les élèves de Terminale NSI

Cette vidéo constitue la deuxième étape de notre série consacrée au projet Quarto.

Après la présentation du défi, voici maintenant le programme réalisé par les élèves !

N’hésitez pas à regarder la vidéo et à laisser un commentaire pour féliciter Lénaïc, Louis, Tiago et Tom.

Vos encouragements sont une belle manière de valoriser leur investissement et leur travail.

La spécialité NSI : apprendre en créant

Ce projet illustre bien ce qui rend la spécialité NSI intéressante.

Les élèves ne se contentent pas d’apprendre la syntaxe d’un langage de programmation. Ils utilisent leurs connaissances pour créer quelque chose de concret.

À travers Quarto, ils mobilisent notamment :

  • La programmation en Python, pour construire le jeu.

  • Les structures de données, pour représenter les informations nécessaires.

  • L’algorithmique, pour traduire les règles du jeu.

  • La décomposition d’un problème, pour organiser le développement.

  • Le travail collaboratif, pour construire un programme commun.

  • Les tests et le débogage, pour vérifier et améliorer son fonctionnement.

Pour les élèves de seconde qui s’interrogent sur le choix de leurs spécialités, c’est un exemple concret de ce que l’on peut réaliser en NSI.

Et pour les parents, c’est l’occasion de découvrir que l’informatique enseignée au lycée va bien au-delà de la simple utilisation des outils numériques.

Et maintenant, quelle sera la prochaine étape ?

Le jeu fonctionne en console. C’est déjà une réussite importante !

Mais un projet informatique peut toujours évoluer.

Après cette première version, pourquoi ne pas imaginer une présentation plus visuelle, une interface graphique ou de nouvelles possibilités ?

Les outils d’intelligence artificielle peuvent également ouvrir des perspectives intéressantes pour enrichir un programme existant, à condition de comprendre le travail réalisé et de garder un regard critique sur les propositions obtenues.

C’est justement une piste que nous explorerons dans la suite de cette série.

En attendant, bravo à Lénaïc, Louis, Tiago et Tom pour cette première réalisation !

🎥 Découvrir leur jeu Quarto en Python sur YouTube

Et abonnez-vous à la chaîne pour suivre la suite du projet.

🎮 Le Métier de Game Designer : 🎨, 💡, et Expertise au ❤️ du 🎮