Les V-toys Enfants2 - Apprendre à programmer (1) - (le déplacement)

From OFSET Wiki

Jump to: navigation, search

Contents

[edit] Apprendre à programmer des déplacements

Programmer, c’est argumenter une sorte de médium qui, mis en relation avec un objet, permet de le faire agir par ordre interposé. La condition ‘siné qua non’ est que les ordres donnés par le lanceur soient compris par le récepteur d’où la nécessité de placer sur le récepteur des éléments sensibles au langage de l’émetteur.

Squeak Etoys et par conséquent les V-toys proposent un environnement qui autorise ce genre de relations. Nous n’avons pas à entrer dans le détail technique de ce fonctionnement, seulement à profiter de l’interface pour faire découvrir aux enfants des structures de programmation à construire qui leur permettent d’influer sur des objets qu’ils ont placé sur l’écran, et les sensibiliser ainsi au problème très contemporain de la programmation informatique.

Nous allons examiner, en premier, la liste des outils mis à leur disposition pour cela et, ensuite, étudier le mécanisme de la programmation V-toys par script en commençant par le niveau le plus simple, la programmation du déplacement.

[edit] Informations générales sur les outils de la programmation et leur mode d’emploi

En appelant, sur l’écran Squeak, un des projets V-toysEnfants 6-10ans on obtient un environnement au contenu élargi par rapport à la version 4-6ans. Dans le tiroir bleu placé au bas de l’écran, on trouve un ensemble plus étoffé de commandes regroupées selon leurs caractéristiques. Nous allons sélectionner celles qui vont nous être utiles pour démarrer.

[edit] Le tiroir des outils

En cliquant sur les icônes placées en tête dans le tiroir, on ouvre de nouveaux réservoirs et une bulle apparaît, pour chacun, qui identifie les caractéristiques de leur contenu. Nous avons, de gauche à droite les catégories suivantes  :

  • Pilotage par joystick et touches
  • Animations et mouvements
  • Nombres
  • Textes
  • Scripts, commandes et tests
  • Mouvements
  • Couleurs et sons

Nous allons avoir besoin des outils contenus dans les catégories MOUVEMENT et SCRIPTS – COMMANDES et TESTS.

[edit] Les briques modifiées du déplacement

Dans la catégorie ‘Mouvements’, certaines briques sont identiques à celles de la version 4-6 ans, d’autres sont nouvelles et d’autres encore sont formulées différemment. Parmi elles , il y a celles des déplacements. Elles ont un autre sigle visuel d’identification et elles sont enrichies d’un second désignateur permettant de quantifier les distances à parcourir et les angles de pivotement.

Comme les commandes des V-toys 4-6 ans, toutes les briques munies d’un point d’exclamation sont des mini-scripts. Il suffit, après avoir réglé leurs paramètres, de les attribuer à un objet présent sur l’écran puis d’activer le point d’exclamation pour agir directement sur cet objet qui exécute une fois ce qui lui est commandé, et de façon plus continue quand on tient plus longuement la souris appuyée. Mais la programmation par script fait appel à d’autres outils et d’autres méthodes.

[edit] La catégorie ‘Scripts, commandes et tests’

Elle contient un ensemble de briques et de récipients qui vont servir à la construction d’une catégorie particulière de scripts, les scripts à action permanente. Pour cela on a besoin :

  • de RECIPIENTS qui sont destinés à accueillir les briques qui vont constituer le corps du script. Ils adaptent leur superficie au nombre de briques que l’on y introduit.
  • de mini-briques de marche/arrêt qui agissent sur les scripts comme les points d’exclamation des briques d’action .
  • Certaines briques sont destinées à agir sur d’autres briques (brique REPETE par exemple)

[edit] Construire un script avec un récipient

Quand on déplace une brique avec la souris, pour l’introduire dans un récipient il est impératif que la flèche qui représente la souris, soit placée au-dessus de la surface du récipient. En lâchant la brique, elle s’installe à l’intérieur de celui-ci et il se resserre autour d’elle. Pour introduire une 2ème brique, il faut viser, avec la flèche de la souris, un espace libre de la surface du récipient, entre le bord et la brique déjà en place, sinon la nouvelle brique est absorbée par la précédente.

[edit] Les démarreurs/interrupteurs

Les récipients sont de couleur ocre. Ils n’ont pas de point d’exclamation et pour les rendre actifs, il faut faire appel à des mini-briques spécialisées pour assurer les démarrages et les arrêts. Il y en a de 2 sortes :

  • les mini-briques munies d’une horloge (bleu, rose ou verte) et d’un désignateur
  • la mini-brique avec désignateur et point d’exclamation.

Chaque désignateur doit être mis en relation avec le script qu’il va activer ou désactiver :

  • cliquer sur le désignateur avec la souris, on obtient une croix.
  • viser avec précision l’intérieur du récipient sans toucher aux briques déjà en place. Cela donne une image miniature du script à l’intérieur du désignateur.

  • En appuyant sur leur point d’exclamation, les interrupteurs à horloge déclenchent 'DES ACTIONS QUI TOURNENT EN CONTINU ou les stoppent, et l’intérieur du récipient prend la couleur de l’horloge, ce qui indique au premier regard, s’il est en activité ou non.
  • La brique ‘point d’exclamation’ EXECUTE UNE SEULE FOIS toutes les actions contenues dans un récipient.

[edit] Les modulateurs de vitesse

Certaines briques ont la particularité de se présenter en 2 versions

  • une version normale qui déclenche une activité se déroulant à un rythme moyen.
  • une version modulable dont on peut ralentir ou accentuer le rythme.

Ce sont les briques à horloge et les briques sonores.

[edit] La brique à horloge bleue

Elle a une version longue munie d’un petit compteur numérique qui règle la vitesse à laquelle l’action proposée dans le script doit se dérouler. Plus le nombre est élevé plus la vitesse est rapide. Pour choisir celle-ci, il suffit de modifier le nombre à l’intérieur du compteur à l’aide des flèches vertes situées sur le côté.

[edit] Les briques sonores

(il y en a 2). Leur compteur est apparent ou occulté (déplacer la poignée jaune de leur halo) et leur numérotation se modifie de la même façon. Mais ici l’unité de temps – la seconde – joue en sens inverse. Dans le cas, exposé ci-dessus, plus le nombre est élevé et plus la répétition du son est espacée.

NB : il existe une façon plus rapide de changer un nombre dans un compteur numérique que celle qui consiste à activer les petites flèches vertes. Il suffit de cliquer sur ce nombre pour l’illuminer, puis de le supprimer avec la touche de suppression du clavier, ensuite de taper un nouveau nombre (il s’inscrit en rouge) et de le valider avec la touche ENTREE.

[edit] PROGRAMMER DES DEPLACEMENTS

Avant de se lancer dans la fabrication des scripts, il est nécessaire d’observer les nouvelles briques de déplacement du niveau 6-10 ans. Elles prennent en compte plus de paramètres que celles dont il a été fait usage avec les enfants des Maternelles et elles peuvent être utilisées dès que le maître se rend compte que ses élèves ont une connaissance suffisante de la valeur des chiffres et des nombres et qu’ils sont capables de déchiffrer un texte écrit court (même s’il faut les aider un peu au début.)

[edit] Les briques à double entrée

Comme leurs homologues du niveau 1, elles ont un désignateur d’attribution gris qui permet de les mettre en relation avec l’objet sur lequel elles doivent agir, et un deuxième désignateur dit de valeur de couleur bleu clair, qui va accueillir une information supplémentaire chiffrée permettant de déterminer avec précision l’ampleur du mouvement qu’elles initient. Ce 2ème désignateur va recevoir un nombre qui est placé dans une tuile chiffrée placée à côté, qui va contenir (tapée avec les chiffres du clavier) le nombre exact de la longueur d’un déplacement (en pixels) – ou celui de l’ampleur d’un pivotement (en degrés)..

Ces mises en relation se font toujours de la même manière :

  • un clic sur le désignateur gris et la souris prend la forme d’une croix, puis un clic sur l’objet à déplacer et l’image en miniature de celui-ci s’imprime à l’intérieur du désignateur.
  • un clic sur le désignateur bleu clair puis sur la tuile chiffrée que l’on a prise dans le tiroir des outils, et la valeur chiffrée proposée par la tuile s’inscrit dans le désignateur Bleu.

Cela permet à l’utilisateur de gérer lui-même avec précision l’ampleur des mouvements de l’objet qu’il veut manipuler.

A noter, en passant, que chaque fois que le chiffre sera modifié dans la tuile chiffrée, la modification interviendra automatiquement dans le désignateur bleu de la brique.

[edit] Les script de déplacement continu - construction

Ce sont des blocs qui accueillent :

  • soit la seule brique AVANCE pour les déplacements continus en ligne droite
  • soit les 2 briques AVANCE et TOURNE pour les déplacements associés à des changements de direction.

La première étape de la programmation V-toys consiste à évaluer la tache à faire accomplir à l’objet que l’on a choisi de manipuler et à sortir sur l’écran, à partir du tiroir, tous les outils nécessaires à la construction du script. :

  • Je dois prendre dans un tiroir ou dessiner, l’objet qui va se déplacer.
  • il me faut une brique pour dire ‘AVANCE’ ,si je le fait se déplacer en ligne droite, et les briques AVANCE ET TOURNE s’il doit tourner en rond.
  • J’ai besoin d’ une boite à scripts (ou récipient) pour les mettre dedans
  • il me faut aussi la tuile ou les tuiles où je taperai le nombre qui dira de combien de pas mon objet avancera en une seule fois, et celui qui indiquera de combien d’unités angulaires il doit pivoter.
  • Il me faut aussi les petites brique pour dire Démarre ou Stop.
  • ensuite je construis mon script et je le mets en service.

Ici c’est pour déplacer une étoile qui va en ligne droite, mais c’est pareil si je veux qu’elle tourne en rond, je sors en plus la brique TOURNE et je l’ajoute à la brique AVANCE dans le récipient.

[edit] La rencontre avec le bord de l’écran et la nature des objets

Nous traitons dans ce chapitre du déplacement linéaire, aussi, les limites de l’écran étant ce qu’elles sont et les objets en déplacement étant de nature diverses, des circonstances annexes entrent en jeu dont il faut tenir compte dans la programmation. Ce problème a été abordé en détail dans le chapitre Les V-toys Enfants - niveau 1 (les déplacements) paragraphe Les déplacements et les changements d'orientation et il sera utile de s’y référer. Il traite :

  • Des déplacements rectilignes continus et de la façon de réorienter les déplacements en fonction de la nature des objets.

  • des déplacements rectilignes continus où les objets se heurtent aux limites de l’écran et où il faut faire appel à des moyens annexes (briques ou d’options à chercher dans les menus) pour assurer la continuité du trajet.

  • mais il y est traité aussi les déplacements circulaires où il faut respecter la nature des objets .

Cela passe par l’usage de briques supplémentaire qu’il va falloir ajouter à l’intérieur du récipient du script et, quelque fois, par le choix d’options à cocher dans des menus. Les briques qui règlent la rencontre des objets et du bord de l’écran se trouvent dans la catégorie MOUVEMENT

[edit] Les scripts circonstanciés et la rencontre avec le bord de l’écran

Les mêmes règles s’adaptent au fonctionnement par script.Il suffit, pour résoudre certains problèmes causés par les rencontres objet/bord de l’écran d’ajouter des briques dans les récipients ou/et de cocher des options dans certains menus.

  • ajout de la brique REBONDIS pour les objets bi-symétriques qui basculent de 180° sans dommage quand ils rencontrent le bord de l’écran :

  • ajout de la brique REBONDIS plus le coche d’une option dans le menu rouge des objets devant garder une orientation constante

  • ajout de la brique ENROULE dans les scripts qui déplacent un objet qui tourne autour de l’écran, disparaissant d’un côté pour réapparaître de l’autre, plus la suppression d’un coche dans une option du menu Monde.

[edit] Enrichir la programmation

Quand le principe de la programmation par script est bien compris il devient possible d’introduire d’autres briques qui peuvent accompagner le déplacement d’un objet.

  • ajouter du son à un déplacement

La brique sonore de contact a deux désignateurs d’identification car le son n’intervient que quand les 2 objets se touchent, ce qui nécessite la présence, sur l’écran, d’un deuxième objet (la méduse qui se déplace et le poisson qui ne bouge pas).

  • Programmer 2 objets ayant des actions différentes dans le même script

Ici nous avons 2 étoiles dont l’une tourne sur elle-même et l’autre se déplace selon un trajet erratique pendant qu’un son retentit de façon espacée. L’ensemble des briques concernant les 2 objets est regroupé dans le même script .

(le problème des briques de pivotement associées aux briques de déplacement sera évoqué plus longuement dans le chapitre suivant)

Le projet EtoileFolles

[edit] Programmer le déplacement séparé ou simultané de multiples objets

Cela nécessite aussi bien l’emploi de scripts individuels à animer séparément que la construction d’un script collectif qui s’adresse à l’ensemble des objets.

Ici nous avons plusieurs insectes qui ont chacun leur mode de locomotion et que l’on anime individuellement. Mais si toutes les briques sont rassemblées dans un seul script, il peut y avoir une activation collective de l’ensemble des insectes.

le projet 'les Insectes'.



[edit] De la ‘SCENE’

Les insectes sont posés sur un fond qui a toutes les caractéristiques d’un écran miniature. Il fait barrage à la sortie des objets et nécessite l’emploi des mêmes briques et des mêmes options dans les scripts. On le trouve dans le magasin des accessoires sous le nom de SCENE. En faisant apparaître son halo, et en se servant des poignées de celui-ci, on fait apparaître son menu, on modifie ses dimensions, on change sa couleur si on en a envie ainsi on le décore.

[edit] Les espaces de travail

Les briques et les outils emmagasinés dans le tiroir bleu, sont préprogrammés à partir du langage Etoys. Par conséquent cette programmation sous-jacente existe dans tous les projets qui servent de base de travail aux V-toys et la taille globale de l’environnement ainsi constitué peut être assez important. C’est la raison pour laquelle il est recommandé, suivant la nature des sujets à traiter, de charger des espaces de travail allégés laissant de côté les outils inutiles.

Il y a la version complète de Pierre-André Dreyfuss qui regroupe l’ensemble de toutes les commandes et outils. Elle sert de référence, mais permet aussi de travailler avec des élèves plus âgés et de pousser très loin la programmation visuelle.

A partir de ce modèle, il y a les versions plus légères que chacun peut construire en fonction des besoins des enfants et de leur âge.

Un exemple : le projet Base B

NB : Pour créer une version allégée, il suffit , dans chaque catégorie du tiroir, d’appeler le halo d’une brique et de la supprimer avec la poignée rose marquée d’une croix, ou de supprimer, de la même façon, la Scène qui contient une série de commandes dont on n’a pas l’usage.

  • Quand un projet doit être conservé, communiqué ou transmis par Internet, il est souhaitable de réduire sa taille. Pour cela il est conseillé, quand le projet est terminé, de supprimer carrément le tiroir bleu et son contenu, et de ne garder que les commandes qui sont sur l’écran.

[edit] Chapitre suivant:

Le chapitre suivant va s’intéresser à la programmation d’objets laissant des traces sur l’écran, qu’ils se déplacent linéairement de façon continue ou bien que leur briques de déplacement soient associées à des briques de pivotement.

Retour au sommaire

Personal tools