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 de plateforme » – Etape 2 Programmer les déplacements latéraux du lutin

https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Supertux010.jpg/220px-Supertux010.jpg

1, 2, 3, codez ! - Activités cycle 4 - Projet « Jeu de plateforme » - Etape 2 : Programmer les déplacements latéraux du lutin

Discipline dominante

Mathématiques

Résumé

Cette étape permet aux élèves de se remémorer Scratch, en programmant la fonctionnalité de déplacement du lutin « Joueur » sous l’action des flèches droite et gauche du clavier.

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.
  •  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 » :    

  •  Scratch est un environnement de programmation très facile à prendre en main, qui utilise un langage de programmation graphique.
  •  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 la classe

  •  Le même matériel qu’à l’étape 1.

Pour les élèves :

  •  Le même matériel qu’à l’étape 1.
  •  Un ordinateur par binôme permettant d’utiliser  Scratch.
  •  La Fiche 1 (seulement si les fichiers Scratch sont fournis aux élèves sur un studio Scratch), modifiée pour que l’adresse du Studio Scratch de la classe apparaisse.
  •  La Fiche 2

Situation déclenchante

En début de séance, l’enseignant projette la carte mentale obtenue collectivement par la classe et en distribue une photocopie à chaque élève, à coller dans le cahier de projet : chacun pourra ainsi suivre l’avancement du projet en cochant les fonctionnalités programmées avec succès.

Activité : une première mission avec Scratch (par binômes)

L’enseignant annonce que dès aujourd’hui, les groupes vont commencer à programmer une fonctionnalité toute simple du futur jeu de plateforme : le contrôle des déplacements de l’avatar du joueur vers la droite et vers la gauche, à l’aide des flèches (les sauts seront pour plus tard). Cela permettra à chacun de se remettre dans le bain de Scratch, en partant d’une même base. Le travail s’effectuera à l’aide de la Fiche 1 (si l’enseignant utilise un studio Scratch pour fournir les fichiers aux élèves, cas décrit ci-dessous) et de la Fiche 2.
Conformément aux instructions de la Fiche 1, les binômes s’installent à un ordinateur, se connectent sur le site Scratch  avec leur compte de binôme et se rendent sur le Studio Scratch dédié à la classe, dont ils notent pour mémoire l’adresse dans leur cahier de programmation. Puis ils sélectionnent le projet « Platformer_V01 », ce qui donne accès à l’écran suivant :

Ils demandent alors à « voir à l’intérieur » le projet (ce qui leur permet de visualiser les instructions de programmation) puis à le « remixer » (ce qui crée une copie modifiable du projet sur leur propre compte). Pour cela, ils cliquent successivement sur les deux icônes suivantes :

Ils renomment alors le projet en remplaçant le suffixe « remix » par leur nom de groupe :

L’ensemble de cette procédure devra être utilisé à chaque fois que l’enseignant fournira un fichier Scratch sur le studio. Elle est notée pour mémoire sur la Fiche 1, que les élèves collent dans leur cahier de programmation.

Le moment est venu pour les élèves de combiner les instructions déjà présentes dans la zone de programmation pour aboutir au résultat recherché : le contrôle des déplacements du lutin « Joueur » par les flèches gauche et droite du clavier. Les instructions proposées sont les suivantes, et les élèves n’ont pas l’obligation de les utiliser toutes :

L’enseignant invite les élèves à enregistrer leur programme. En cas de besoin, il 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.
Voici un programme possible, utilisant deux fois l’instruction « Si … alors … », ce qui suppose de la dupliquer après un clic droit ou d’aller en chercher un second exemplaire dans la liste des instructions, catégorie « Contrôle » :

Toutefois, lorsqu’on teste le programme, on s’aperçoit que le lutin « joueur » se met la tête en bas lorsqu’il se dirige vers la gauche, ce qui n’est pas le but recherché ! Le coup de pouce de la Fiche 2 propose deux solutions :

  •  soit les élèves modifient manuellement ce style, après avoir cliqué sur l’icône « i » associée au lutin ;
      
  •  soit ils utilisent l’instruction « fixer le sens de rotation … », accessible dans la catégorie d’instructions « Mouvement » :

Note pédagogique :
Les élèves seront amenés à modifier leur façon de programmer les déplacements droite/gauche, à l’Étape 7. La présente façon de faire s’avèrera en effet peu concluante, une fois que la fonctionnalité de saut aura été programmée.

Mise en commun

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 :

  •  l’instruction  permet de déclencher les instructions qui y sont accolées (et qui forment une séquence d’instructions) par l’événement « Clic sur le drapeau vert ». Il y a d’autres instructions de ce type dans la catégorie « Événements ».
  •  les instructions « montrer », « mettre à 100% de la taille initiale » et « aller à x : 0 y : 0 » sont des initialisations : elles imposent un état initial, ici pour le lutin « Joueur ».
  •  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 choisir quoi faire dans différentes situations. Ici, par exemple, c’est seulement si le joueur appuie sur la flèche droite que le lutin « Joueur » se déplace vers la droite.
  •  les boucles permettent de répéter plusieurs fois une même séquence d’instructions.
  •  une variable est un espace mémoire dans lequel on peut stocker une valeur (c’est l’affectation). On peut utiliser cette valeur dans des tests ou des calculs ultérieurs, et la modifier à tout moment. Les variables « x » et « y » sont prédéfinies dans Scratch. Elles représentent l’abscisse et l’ordonnée d’un lutin sur la scène.

La classe termine la séance en cochant les fonctionnalités de la carte mentale qui ont été programmées à cette séance :

  •  Avatar : apparaît au lancement du programme à une position déterminée.
  •  Avatar : se déplace vers la droite si on presse la flèche de droite.
  •  Avatar : se déplace vers la gauche si on presse la flèche de gauche.
  •  Avatar : s’oriente dans le sens de son déplacement.