Pendant les vacances de février, l’@telier numérique a organisé un stage de 3 jours au cours duquel les participants se sont initiés à Scratch, le logiciel de programmation destiné aux enfants ou à ceux qui veulent s’initier à la programmation informatique.

Rappel

Scratch a été conçu par le MIT pour permettre de s’initier aux principes de la programmation grâce à une interface graphique. En effet, pas besoin de saisir de lignes de code pour réaliser des conditions, des boucles, définir des variables... Tout se fait par l’intermédiaire de blocs regroupés par catégorie (apparence, mouvement, contrôle...). Il suffit d’assembler les différents blocs comme des puzzles pour élaborer des scripts et donner des instructions à l’ordinateur.

Le déroulé du stage

La première journée a permis de se familiariser avec l’outil. Si Scratch a l’avantage d’être plutôt intuitif et assez ergonomique, il nécessite tout de même un temps de prise en main pour comprendre les possibilités du logiciel. A travers différents petits exercices, nous avons commencé à déplacer notre « lutin ». C’est la base indispensable si on veut créer un jeu dans lequel nous pouvons déplacer le personnage à gauche et à droite. Puis, nous avons poursuivi en nous familiarisant avec la notion de condition. « S’il se passe ceci, alors il se passe cela. ». On a l’habitude de comparer la programmation à une recette. Un programme est une suite d’instructions qu’il faut suivre dans un ordre très précis. Prenons l’exemple de la cuisson des pâtes. Il faut d’abord que je prenne une casserole, que je mette de l’eau dedans, que j’attende que l’eau bout. Si l’eau bout alors je peux mettre les pâtes sinon j’attends que l’eau se mette à bouillir. Ce principe de la condition est fondamentale dans la programmation.
Nous nous sommes ensuite confrontés aux variables. Wikipédia rappelle qu’une « une variable est un espace de stockage pour un résultat ». Nous nous sommes entraînés en créant un petit script qui interroge l’utilisateur en lui demandant son prénom et sa ville. Dans cet exemple, les variables étaient le prénom saisi ainsi que la ville renseignés. Enfin, nous avons profité de cette première journée pour définir le prototype de notre jeu.

Passons aux choses sérieuses

Le premier jour a permis de comprendre comment Scratch fonctionne. Les deux suivants ont été consacrés à la réalisation du jeu vidéo. Le projet consistait à développer un petit jeu de plateforme dans lequel un personnage devait évoluer en partant d’un point A pour arriver à un point B en évitant des ennemis et en parcourant des obstacles.

Le deuxième jour a permis de se concentrer sur le design du jeu. Il a fallu construire les plateformes grâce à l’outil de dessin intégré nativement dans Scratch. C’est à ce moment que les choix du décor et du héros ont été effectués. Une fois la partie design réalisée, nous sommes passés à la partie programmation. Dans un premier temps, nous avons programmé les déplacements gauche/droite du héros. Puis, il a fallu définir la fonction saut du personnage. Cette étape a nécessité de créer un bloc spécifique et définir comment et dans quelle condition le héros saute. En somme, nous avons reproduit informatiquement le principe de la gravité.

Enfin, le troisième et dernier jour a permis de finaliser le jeu et de rajouter des éléments pour accroître la difficulté. Nous avons rajouté les ennemis et programmé leur déplacement. Nous avons rajouté la possibilité pour le joueur de tirer sur les ennemis et de les faire disparaître s’ils sont touchés. Afin de complexifier le jeu, nous avons ajouté une barre d’énergie au joueur qui perd des points de vie s’il est touché par un ennemi. Mais pour que le jeu reste jouable, nous avons rajouté des objets à ramasser pour augmenter la jauge de vie du héros.

Un petit aperçu du résultat