De Scratch Wiki en français
Description
Ce bloc renvoie "True" (vrai) si l'élément inséré (par défaut "thing") fait partie de la liste choisie, et "False" (faux) si ce n'est pas le cas.
Ce bloc prend ainsi deux entrées : un menu déroulant listant toutes les entrées créées, et une entrée texte prenant pour valeur l'élément à chercher.
Comme tous les blocs de cette forme, il est principalement utilisé dans les blocs
si <> alors
, attendre jusqu'à ce que <>
et répéter jusqu'à ce que <>
(qui sont expliqués dans la catégorie des "blocs de contrôle)". Il peut aussi être utilisé dans les blocs d'opérateurs logiques <> = <>
, <> \< <>
et <> \> <>
. Enfin, il est possible (mais très rarement) de l'utiliser comme un bloc de valeur (qui renvoie un nombre). Il vaudra alors "0" si la condition est fausse et "1" si la condition est vraie.Exemples
- Ce bloc permet de vérifier si un élément appartient déjà à une liste créée, pour éventuellement l'ajouter ensuite :
demander [Que souhaitez-vous ajouter à la liste de courses ?] et attendre si <[liste de courses v] contient (réponse) ?> alors dire (regrouper (regrouper [Ce produit (] et (réponse)) et [) est déjà dans la liste de courses !] sinon ajouter (réponse) à [liste de courses v]::list dire (regrouper (regrouper [Ça y est, j'ai ajouté ] et (réponse)) et [ à la liste de courses !]) end
- Sinon ce bloc peut servir à pas mal de choses, par exemple :
si <[liste v] contient [blablabla] ?> alors ajouter (longueur de [liste v]) à [variable v]::variables basculer sur le costume [costume2 v] arrêter tous les sons end
Alternatives
Il existe deux alternatives :
- On peut définir un bloc semblable personnalisé :
définir liste (liste) contient (texte) mettre [compteur v] à (1) répéter (longueur de (liste)::list) fois si <(élément (compteur::variables) de (liste)) = (texte)> alors envoyer à tous (true v) sinon ajouter (1) à [compteur v]::variables fin fin envoyer à tous (false v)
- On peut utiliser le bloc
(position de [] dans [ v])
: utilisé comme entrée booléenne, il se comporte un peu comme le bloc<[ v] contient () ?>
avec un petit avantage. Là où ce dernier ne renvoie que "True" ou "False", le bloc va renvoyer "False" si l'élément recherché dans la liste ne s'y trouve pas mais va renvoyer le numéro de sa position s'il s'y trouve.
Sur les forums
Sur les forums de Scratch, vous pouvez intégrer des blocs Scratch grâce au BBCode.
Voici le code nécessaire pour insérer ce bloc :
<[ v] contient () ?>
Ce qui donnera :
<[ v] contient () ?>
N'oubliez pas que le script devra être entouré des balises
Voir les blocs du forum pour plus d'information.
[scratchblocks]et
[/scratchblocks]pour être affiché en tant que bloc dans le message.
Voir les blocs du forum pour plus d'information.
Voir aussi
blocs de données :: variables