Étiquettes

, ,

Scratch

Scratch est de plus en plus au coeur de mes différents ateliers. Plateforme d’apprentissage de la programmation mais aussi de prototypage rapide de petits programmes… Scratch s’interface particulièrement bien avec la Makey Makey, permettant ainsi rapidement de tester différents montages.

J’ai pris l’habitude de raconter une petite histoire quand il s’agit de montrer les bases de Scratch, bases souvent suffisantes avant de laisser les enfants en autonomie. Très souvent, j’utilise ce que j’appelle le « faire avant de comprendre ». La découverte de Scratch est assez fascinante chez les enfants. On touche à tout, on ajoute des personnages sans trop comprendre à ce que l’on fait et, impossible pour moi à ce moment de tenter de leur expliquer quoi que ce soit, ils sont trop absorbés dans la découverte de l’interface et le plaisir de dessiner, composer un univers avec des personnages. Mais soudain arrive cette question « pourquoi ça ne bouge pas ? ». A moi donc de jouer…

Et à vous aussi ! Rendez-vous sur cette page : http://scratch.mit.edu/ et cliquez sur le bouton « Créer » en haut de la page. Bienvenue dans l’interface de création (ou l’environnement de développement) de Scratch.

Force est de constater que notre personnage, notre petit chat, s’ennuie ferme. Scratch est là pour nous aider. L’interface est relativement simple. En haut à gauche, l’espace d’exécution du programme ; en bas, les différents personnages et décors qui seront utilisés ; au centre le menu offrant les commandes nécessaires pour réaliser notre programme ; à droite, l’espace où nous allons réaliser nos différents scripts, un script étant un bout de programme contenant plusieurs instructions.

Si, comme moi, vous habitez dans un quartier où les chats semblent parfois plus nombreux que les humains, vous savez qu’un chat c’est indépendant et que cela a besoin de bouger, de se balader et notre petit chat ne bouge toujours pas. Aidons-le un peu…

Cliquez sur le bouton « événements » et faites glisser sur la droite le bloc « Quand espace est pressé ». Votre bloc est ajouté au script. Cliquez sur « espace » pour obtenir un choix de touches et choisissez « flèche droite ».

Cliquez ensuite sur le bouton « Mouvement » et faites glisser de la même manière que précédemment « Avancer de 10 pas ». Collez ce bloc en-dessous du premier. Ils doivent s’éclairer et se coller naturellement. Appuyez maintenant sur la flèche droite du clavier en changeant régulièrement la valeur de 10 pas par 2, 5 ou plus, ce que vous voulez.

C’est bien beau mais notre chat ne peut faire qu’avancer et va bientôt se retrouver au bord de l’écran, coincé… Faites un clic droit sur votre premier bloc et choisissez « dupliquer ». Vous voila avec un nouvel ensemble de blocs que l’on va placer un peu plus bas. Choisissez dans les touches cette fois la flèche gauche et à la place de 10 mettez la valeur « -10 ». Ce simple petit exercice permet d’aborder avec des enfants la notion de contrôle d’un élément à l’écran et de l’utilisation de valeurs négatives, « reculer » n’existant pas de manière naturelle en programmation.

scratch-avancer

C’est un peu mieux mais notre chat se sent toujours aussi seul. Ajoutons lui un camarade. Cliquez sur l’icone à coté de « Nouveau lutin » et choisissez un nouveau personnage. Cliquez sur ce personnage. Un nouvel espace vierge apparaît pour la création d’un script. Les instructions de Scratch sont en effet placées personnage par personnage, ainsi que pour le décor.

Plaçons l’ours un peu plus loin dans le décor. Allez de nouveau dans « événements » et choisissez « Quand le drapeau vert est pressé ». Le drapeau vert agit comme un interrupteur en lançant le programme. Ajoutons en dessous de ce bloc un autre bloc issu de « Mouvement » « Aller à x et y » en remplaçant x et y par 190 et 0 par exemple. En cliquant sur le drapeau vert, vous pouvez constater que votre second personnage se place au bon endroit.

Scratch-placer

Nous avons donc deux personnages mais toujours très peu d’interactions entre eux. Nous allons créer une boucle qui va sans cesse vérifier si les deux personnages se touchent. Pour l’instant, attribuons ce script au chat. Lorsque celui-ci va toucher le second personnage, il va lui dire bonjour. On arrête ensuite le script sinon cette action se répéterait sans cesse.

scratch-tester

Peut-être pourraient-ils changer de paysage lorsqu’ils se touchent ? Utilisons donc la fonction située dans « Evénements » qui permet d’envoyer des messages. Nous allons pour cela créer un nouveau message que pour ma part j’ai intitulé « change ».

scratch-changemsg

Maintenant cliquons sur le décor en bas à gauche. Ajoutons un nouveau décor. Nous allons ensuite créer deux scripts simples : un premier qui remet le décor à zéro quand on clique sur le drapeau vert, un second qui modifie le décor une fois que le chat a touché le second personnage et a envoyé le message « change ».

Scratch-change

Vous venez de faire vos premiers pas sur Scratch. Il y a bien sûr de nombreuses autres possibilités. Les images de scripts ont été réalisées avec la version 1.4 de Scratch qui est actuellement la seule à proposer cette fonctionnalité mais je travaille au quotidien avec la version 2.0 et ces scripts sont tout à fait compatibles.

Bonne découverte !