Rendez votre code d'effacement plus efficace avec des blocs personnalisés

Ce que vous allez créer

Vous êtes maintenant presque à travers la série de ce débutant sur Scratch. Vous avez créé un jeu dans lequel l'utilisateur poursuit un chat avec un crabe, le chat dit 'Aïe!' quand le crabe le serre, un score est conservé. Le jeu a quelques animations et garde le score qu’il affiche à la fin..

Dans cette partie, nous allons continuer à travailler sur ce projet. Nous utiliserons un bloc personnalisé pour rendre notre code plus ordonné et plus facile à utiliser..

Utilisations des blocs personnalisés

Les blocs personnalisés ont quelques utilisations:

  • Utilisez-les pour appliquer le principe DRY (Don't Repeat Yourself) à vos projets, en remplaçant les blocs que vous utilisez plusieurs fois par un bloc personnalisé. De cette façon, vous pouvez définir une routine une fois, puis l’utiliser chaque fois que vous en avez besoin en insérant votre bloc personnalisé dans votre projet..
  • Si vos scripts deviennent volumineux et difficiles à manier, utilisez-les pour nettoyer et ranger vos longues routines ailleurs.
  • Création de routines récursives dans lesquelles la routine est réexécutée si une condition est remplie ou non.
  • Création de routines dans lesquelles des valeurs ou des chaînes peuvent être modifiées chaque fois que vous ajoutez la routine à un script.

Dans ce tutoriel, nous allons utiliser les trois premières approches.

Ce dont vous aurez besoin

Pour compléter ce tutoriel, vous aurez besoin de:

  • un compte gratuit avec Scratch
  • un navigateur Web avec accès à Scratch (je recommande d'utiliser un navigateur moderne comme Chrome, Firefox, Safari ou Opera pour une expérience optimale)

Commencer

Nous allons travailler avec le projet créé dans la dernière partie de cette série, sur les animations. Nous utiliserons les ressources et les scripts que nous avons créés jusqu'à présent et en ajouterons d'autres..

Selon que vous avez ou non travaillé avec ce didacticiel, il existe deux manières de démarrer avec ce didacticiel:

  • Ouvrez le projet que vous avez créé pour le dernier tutoriel et faites-en une copie..
  • Remixez le projet que j'ai créé pour prendre en charge le dernier tutoriel..

Sinon, vous pouvez simplement continuer à travailler dans le même projet que vous avez déjà créé. Voici comment vous faites chacune de ces tâches (vous n’en aurez besoin que d’une seule).

Dupliquer votre propre projet

Ouvrez Scratch et accédez au projet que vous souhaitez dupliquer. Assurez-vous que vous avez cliqué sur le Voir à l'intérieur bouton pour que vous puissiez voir le fonctionnement du projet.

Dans la barre d'outils, cliquez sur Fichier> Enregistrer en tant que copie:

Scratch ouvrira votre nouvelle copie. Renommez-le et commencez à y travailler.

Remixer mon projet

Connectez-vous à Scratch et accédez à la page de mon projet sur les animations.

Clique le Voir à l'intérieur bouton pour voir le projet:

Maintenant, cliquez sur le Remix bouton. Scratch enregistrera un duplicata de mon projet en tant que nouveau projet dans votre compte. Renommez-le et vous êtes prêt à partir!

Création d'un bloc personnalisé pour éviter les répétitions

Vous devez d’abord déterminer où un bloc personnalisé rendrait vos scripts plus efficaces. Dans ce projet, le script principal de la scène inclut la répétition de deux lignes:

  • attendez 1 secondes
  • changer la minuterie par -1

Ce n'est pas beaucoup de code qui se répète, donc dans un vrai projet, vous pouvez choisir de le laisser tel quel, mais pour les besoins de ce tutoriel, remplaçons-le par un bloc personnalisé..

Sélectionnez le Étape et cliquez sur Plus de blocs. Clique sur le Faire un bloc bouton. Vous serez présenté avec le Nouveau bloc boite de dialogue:

Vous verrez maintenant un nouveau script 'hat' appelé définir le compte à rebours chaque seconde (ou comme vous l'avez appelé):

Pour définir ce bloc, vous devez ajouter les blocs qu'il remplacera sous ce chapeau. Ce seront les attendez 1 secondes et changer la minuterie par -1 des blocs.

Une fois que vous avez fait cela, éditez le script avec ces deux blocs répétitifs afin que les deux blocs soient remplacés par votre bloc personnalisé à chaque fois. Le script aura maintenant 11 blocs de code au lieu de 14:

Cela n'a réduit que le code de trois lignes dans ce script, mais vous pouvez voir que si vous utilisiez des routines plus volumineuses ou si vous les répétiez plus souvent, pour des sprites différents, cela rendrait peut-être les choses plus efficaces. Si vous souhaitez qu'un bloc personnalisé s'applique à tous vos sprites, créez-le dans la scène..

Création d'un bloc personnalisé pour raccourcir un script

Vous pouvez également utiliser des blocs personnalisés en remplaçant des routines volumineuses dans vos scripts, ce qui raccourcit et simplifie la gestion de vos scripts. Le sprite chat a actuellement beaucoup de blocs dans son script principal, appliquons donc ce principe à celui-ci..

Voici à quoi ressemblent les scripts de chat:

Créons deux blocs personnalisés: l'un pour la routine qui demande à l'utilisateur de définir ce que le chat va dire et l'autre pour la routine qui fait réagir le chat lorsqu'il est attrapé par le crabe.

Assurez-vous d’avoir sélectionné le chat et allez à la Plus de blocs section. Clique le Faire un bloc bouton et nommez votre premier bloc. Je vais l'appeler: "L'utilisateur définit le son du chat".

Maintenant, faites glisser les blocs qui exécutent cette routine vers le "chapeau" de votre bloc personnalisé. Les blocs que vous devez déplacer sont les suivants:

  • demander Si le chat miaule ou crie quand il est pincé par le crabe? et attendre
  • si réponse = miaou alors
  • dire miaou pendant 2 secondes
  • autre
  • si réponse = crier alors
  • Crie! pendant 2 secondes

Assurez-vous de faire glisser tous les blocs situés sous ceux-ci dans le script d'origine..

Maintenant, ajoutez le L'utilisateur définit le son du chat bloquer dans votre script d'origine à l'endroit où vous avez sorti les blocs ci-dessus.

Répétez cette opération pour les lignes de code ci-dessous, en créant un nouveau bloc personnalisé appelé Chat réagit à être attrapé, en ajoutant les blocs à cela, et en ajoutant le nouveau Chat réagit à être attrapé bloquer à votre script d'origine.

Voici à quoi ressemblent les scripts du chat:

La quantité de code est la même, mais en séparant les deux routines, il est plus facile de voir ce qui se passe dans votre script d'origine. C’est une technique que certaines personnes jugeront utile, tandis que d’autres préféreront peut-être conserver tous vos blocs dans un long script.!

Création d'un bloc personnalisé pour une routine récursive

Une autre utilisation d'un bloc personnalisé est de créer une routine récursive, dans laquelle une routine peut être exécutée à l'intérieur de lui-même. C'est plus facile à expliquer en en créant un.

le L'utilisateur définit le son du chat Le bloc personnalisé que nous venons de définir demande à l'utilisateur de saisir le son que le chat émettra. Si l'utilisateur tape "miaou" ou "cri", le script réagit à cela. Mais que se passe-t-il si l'utilisateur utilise des types de caractères incorrects ou autre? Si cela se produit, nous voulons montrer un message à l'utilisateur, puis poser à nouveau la question. Nous pouvons le faire en faisant le L'utilisateur définit le son routine récursive.

Sélectionnez le sprite du chat et éditez le L'utilisateur définit le son du chat bloc personnalisé. Commencez par remplacer le si bloquer à l'intérieur du autre section de la sinon bloquer avec une seconde sinon bloc. Assurez-vous de copier les conditions (répondre = crier) de votre original si bloquer dans le si section de la nouvelle sinon bloc. Bouge le Crie! pendant 2 secondes bloquer à l'intérieur du si boucle dans cette sinon bloc.

Maintenant dans le autre section de la sinon bloquer, ajoutez ces blocs:

  • dis Désolé, je n'ai pas attrapé ça pendant 1 seconde
  • mettre la minuterie à 0
  • L'utilisateur définit le son du chat

Voici à quoi ressemblera votre script:

Maintenant, si l'utilisateur entre la mauvaise réponse, le chat dira «Désolé, je ne l'ai pas attrapé», le minuteur se remettra à zéro et la routine sera exécutée à nouveau, demandant à l'utilisateur quel son il veut que le chat faire.

Résumé

Les blocs personnalisés sont un outil très utile dans Scratch. Comme vous l'avez appris dans ce didacticiel, vous pouvez vous en servir pour sauvegarder répétitivement un ensemble de blocs dans votre projet ou définir des routines que vous ajouterez ensuite à un script, ce qui rendra vos scripts plus faciles à gérer. Si vous devez répéter une routine si une condition est remplie, vous pouvez créer une routine récursive comme celle que vous avez créée pour le chat..

Vous pouvez également inclure des chaînes, des nombres et des entrées booléennes dans vos blocs personnalisés, ce qui signifie que chaque fois que vous ajoutez un bloc à un script, vous pouvez en modifier le fonctionnement. Pour plus d'informations à ce sujet, consultez le wiki Scratch.

Votre projet Scratch est maintenant terminé! Dans la prochaine et dernière partie de cette série, nous verrons comment partager votre travail et créer des studios pour travailler en collaboration..