SE CONNECTER
1,2,3... codez ! | Le site de la Fondation La main à la pâte
Module 123 Codez | Programmer | Informatics and Digital Creation

Projet « Jeu d’arcade » – Séance 3 Premier programme, piloter l’avatar


1, 2, 3, codez ! - Activités cycle 4 - Projet « Jeu d’arcade » - Séance 3 : Premier programme, piloter l'avatar

Discipline dominante

Mathématiques

Résumé

Les élèves créent leur premier programme permettant de piloter l’avatar du joueur. Ils apprennent également à personnaliser la scène dans Scratch (lutin et arrière-plan), ainsi qu’à enregistrer leur travail pour le réutiliser plus tard.

Notions

« Algorithmes » :

  •  Un algorithme peut contenir des instructions, des boucles, des tests, des variables.
  •  Une boucle permet de répéter plusieurs fois la même action.
  •  Certaines boucles, dites « infinies », ne s'arrêtent jamais.
  •  Certaines boucles, dites « itératives » sont répétées un nombre prédéfini de fois.
  •  Un test permet de choisir quelle action effectuer si une condition est vérifiée ou non.
  •  Une condition est une expression qui est soit vraie, soit fausse.

 « Langages » :    

  •  En Scratch, la programmation est « événementielle » : des événements déclenchent l’exécution de séquences d’instructions.

« Bonnes habitudes de programmation » :

  •  Partager un programme avec d’autres personnes permet de l’améliorer.

Matériel

Pour chaque binôme

  •  Un ordinateur possédant une connexion Internet (pour utiliser la version en ligne de Scratch) ou ayant Scratch préinstallé
  •  Un fichier Scratch accessible aux élèves (accessible sur un répertoire réseau par exemple) : Arcade_V01
  •  Un cahier de projet

Pour l’enseignant

  •  Un ordinateur possédant une connexion Internet (pour utiliser la version en ligne de Scratch) ou ayant Scratch préinstallé
  •  Un vidéoprojecteur

Notes pédagogiques :

  •  Tous les fichiers utiles pour ce projet sont téléchargeables sur ce site. L’enseignant doit charger ces fichiers sur son compte Scratch pour les utiliser lors de démonstrations ou lors des mises en commun. Les  fichiers destinés aux élèves doivent être placés dans un répertoire accessible à tous (sur le réseau du collège), au fur et à mesure des besoins.
  •  L’objectif de ce guide pédagogique est l’apprentissage de l’informatique (ici, plus particulièrement, la programmation) : nous ne décrivons donc pas les éventuelles séances d’arts plastiques permettant de dessiner les différents éléments graphiques du jeu (scène, personnages et objets).
  •  Nous conseillons de former des binômes relativement homogènes plutôt que des binômes associant un élève en difficulté et un élève plus avancé dans la programmation (car dans ce cas, l’expérience montre que l’élève en difficulté est passif et laisse faire l’autre).

L’enseignant annonce que dès aujourd’hui, les groupes vont commencer à programmer leur jeu d’arcade : il s’agira d’apprendre à piloter l’avatar et de définir les éléments graphiques (arrière-plan et avatar du joueur).

Tâche 1 : créer et enregistrer son fichier  (5 minutes)

Les élèves ouvrent (ou importent, s’ils utilisent Scratch en ligne) le fichier Arcade_V01 mis à disposition sur le répertoire partagé et utilisent la commande « enregistrer sous » (dans le menu « fichier »), en ajoutant, au nom actuel du fichier, le nom de leur binôme.

Tâche 2 : piloter l’avatar  (15 minutes)


Instructions fournies « en vrac » dans le programme Arcade_V01.

Notes pédagogiques :

  •  Pour ce premier travail de programmation, nous proposons de guider les élèves en mettant à leur disposition des instructions utiles. Ils doivent les combiner entre elles de façon à ce que le programme fasse ce que l’on souhaite, à savoir :
    o au lancement du programme (drapeau vert), le chat se place en bas de l’écran, au centre.
    o Chaque fois que l’on clique sur la flèche droite (ou gauche) du clavier, il se déplace à droite (ou à gauche).
  •  Des élèves ayant déjà utilisé Scratch n’auront pas besoin d’être guidés de la sorte, et pourront directement programmer cette fonctionnalité, qui est très simple.
  •  En cas de besoin, l’enseignant peut revenir sur la manière de repérer la position d’un point sur un plan, à l’aide de 2 axes (abscisses, ordonnées), et préciser que, par convention, « x » désigne l’abscisse et « y » l’ordonnée du lutin. La fiche documentaire distribuée lors de la séance de prise en main de Scratch peut être utile !

Voici  deux solutions possibles :

  ou  

Notes scientifiques :

  •  Il y a 2 manières, dans Scratch, de déclencher une action si un touche est pressée :
    o celle utilisée ci-dessous (une boucle « répéter indéfiniment » comportant un test « si touche… pressée »)
    o ou l’instruction « Quand … est cliqué » disponible dans l’onglet « événement ».

    En théorie, les 2 méthodes sont équivalentes… pourtant, nous avons remarqué que la seconde donnait lieu à des mouvements plus saccadés, c’est pourquoi nous préférons la première, que nous appliquerons par la suite.
  •  Il peut arriver que le lutin se retrouve « la tête en bas » lorsqu’on lui demande de changer de direction (cela dépend des lutins !). Dans ce cas, on peut changer le « style de rotation » en cliquant sur le « i » bleu qui apparait quand on sélectionne le lutin. Cela ouvre la fenêtre suivante :

    Sélectionner le style de rotation ⇔ permet d’éviter que le lutin se retrouve la tête en bas !

L’enseignant invite les élèves à enregistrer leur programme, à le partager en cliquant sur l’icône « Partager » (uniquement pour l’utilisation en ligne) et à noter son numéro sur leur cahier de projet.
Lors de la mise en commun, l’enseignant sélectionne un groupe d’élèves. Ce groupe vient au tableau et se rend sur la page de son programme pour présenter sa démarche. Cette présentation sert de base de discussion à l’ensemble de la classe, et l’enseignant veille à ce que les points suivants soient abordés :

  •  Les instructions  ou  permettent de déclencher les instructions qui y sont accolées (et qui forment une séquence d’instructions). Il y a d’autres instructions de ce type dans la catégorie « Événements ».
  •  L’instruction « aller à x : 0 y : -130 » est une initialisation : elle impose un état initial.
  •  Les instructions de la catégorie « Contrôle » que les élèves viennent d’utiliser sont une instruction conditionnelle (« Si … alors … » ) et une boucle infinie « Répéter indéfiniment ».
  •  Les instructions conditionnelles permettent de faire en sorte que certaines actions ne soient effectuées que lorsqu’une certaine condition est vérifiée. Ici, par exemple, c’est seulement si le joueur appuie sur la flèche droite que le lutin se déplace vers la droite.
  •  Les boucles permettent de répéter plusieurs fois une même séquence d’instructions.

Tâche 3 : personnaliser le lutin  (10 minutes)

Cette tâche peut être réalisée de 2 façons différentes, au choix de l’enseignant :

  •  De façon astucieuse (avant de supprimer le chat, on importe un autre lutin, notre avatar, et on copie le programme réalisé auparavant)
  •  De façon volontairement inefficace : on supprime d’abord le chat, puis on importe un nouveau lutin qui sera notre avatar. Cependant, puisqu’on a supprimé le chat, on a également perdu le programme réalisé auparavant : il va falloir le ré-écrire (mais sans modèle, cette fois !). Cela peut constituer une bonne évaluation formative. C’est cette façon qui est décrite ci-dessous.

L’enseignant explique qu’il est possible de supprimer le lutin « chat » et d’en créer un autre à la place, plus en phase avec le thème du jeu. Nous proposons, dans les illustrations qui suivent, un thème « spatial » (dans le jeu, un vaisseau doit éviter des astéroïdes), mais l’on pourrait imaginer bien d’autres thèmes. Par exemple :

  •  un maraîcher qui doit récolter dans son panier des fruits qui tombent, en évitant les fruits pourris ou des grêlons ;
  •  un passant qui doit traverser une route en évitant les voitures ;
  •  une souris qui doit récolter des morceaux de fromage en évitant les chats…

Les élèves doivent donc prendre quelques minutes pour réfléchir au thème de leur jeu (en revanche, la mécanique du jeu, elle, reste la même pour tout le monde : elle correspond à la carte mentale réalisée précédemment).

  •  Pour supprimer le chat, il faut cliquer (bouton droit) sur son icone, dans la zone des lutins, et choisir « supprimer ».
  •  Il y a 4 façons différentes de créer un nouveau lutin, accessibles depuis la barre d’outils « nouveau lutin »  en bas à droite de la scène (nous mettons en gras la méthode que nous préconisons ici).

    Choisir un lutin dans la bibliothèque

    Scratch est livré avec une centaine de lutins prédéfinis dans la bibliothèque. Ces lutins peuvent être pratiques pour un projet d’élève, mais sont de styles très hétérogènes. On y trouve des personnages, des animaux réels ou imaginaires, des objets, etc.

    Dessiner un nouveau lutin

    Scratch possède un outil intégré de dessin permettant aux élèves de créer « à la main » leur propre lutin. A ne choisir que pour des dessins très simples (les dessins plus élaborés devront être réalisés dans un logiciel spécialisé, puis importé grâce à la fonctionnalité ci-dessous).

    Importer le lutin depuis un fichier

    C’est l’option qui sera choisie si les élèves ont créé un avatar dans un autre logiciel, ou s’ils veulent utiliser une image téléchargée sur le web, ou encore s’ils veulent utiliser celle que nous mettons à leur disposition (le vaisseau spatial utilisé dans nos exemples).

    Nouveau lutin depuis une webcam

    Cet outil peut être très pratique pour des projets personnels (on peut ajouter son propre visage comme nouveau lutin) mais n’a pas d’intérêt dans le cadre d’un jeu comme celui-ci.


Note pédagogique

  •  Le site opengameart.org propose de très nombreux graphismes adaptés aux jeux vidéo (décors, personnages, objets…), tous libres de droits : une vraie mine d’or !
  •  Nous avons remarqué que, sur certaines machines, l’importation du lutin depuis un fichier fonctionne mal. Si l’importation échoue, il existe une façon très simple de remédier au problème : sauvegarder le travail en cours, quitter Scratch, relancer Scratch… et recommencer l’import du fichier. Après cette petite manœuvre, ça marche !

Tâche 4 : changer l’arrière-plan  (5 minutes)

De la même façon que précédemment, il est possible de changer l’arrière-plan de la scène, soit à partir d’une image issue de la bibliothèque, soit à partir d’un fichier fourni par l’utilisateur, soit encore en le dessinant soi-même.
Les élèves choisissent l’arrière-plan qu’ils préfèrent en fonction du thème de leur jeu (celui utilisé dans les captures d’écran est disponible dans la bibliothèque de Scratch et s’intitule « space ».).

Conclusion

Outre les éléments de conclusion lors des mises en commun, l’enseignant guide les élèves vers la formulation de bonnes habitudes de programmation (cf. scénario conceptuel) :

  •  avant de se lancer dans un projet de programmation, il est essentiel de lister les fonctionnalités que l’on souhaite programmer.
  •  l’environnement de programmation Scratch en ligne permet de prendre connaissance d’un programme d’une autre personne, de le remixer et de partager ses propres programmes. Le partage avec d’autres est une bonne habitude de programmation.