De Scratch Wiki en Français


Les variables



Définition générale

Une variable est un nom donné à un emplacement en mémoire (RAM) contenant une information. La valeur contenue à cette adresse peut le plus souvent changer au cours du temps, d'où le nom de "variable" (qui varie).

Info
 Info :
Il existe aussi des variables dont la valeur, une fois définie lors de la création de la variable ne peut pas changer. Ce type de variable est alors appelé une constante (qui est constant, qui ne change pas). Scratch ne possède pas ce genre de variables.


Les variables ne peuvent contenir qu'une information à la fois, au contraire des listes. Les valeurs contenues sont généralement toujours du même type (ce n'est pas forcément le cas dans Scratch).

Les différents types de valeurs sont:

  • les nombres entiers
  • les nombres à virgule flottante (nombres à virgule, nombres décimaux)
  • les caractères (une seule lettre, un seul chiffre ou un seul caractère spécial)
  • les chaines de caractères (suite de lettre, chiffres ou caractères spéciaux)
  • les valeurs booléennes (valeur vraie ou fausse)
  • les objets (plusieurs données organisées d'une certaine façon, dans un structure)
Info
 Info :
Dans certains langages de programmation, certains types n'existent pas, comme les chaines de caractère ou les valeurs booléennes, qui n'existent pas en C, les nombres entiers qui sont en fait des nombre à virgule en JavaScript, etc.. Scratch supporte tous les types listés ci-dessus sauf les objets.


Les variables dans Scratch

Étiquette variable.png

Scratch ne fait pas exception à la règle et permet l'utilisation de variables.

Ces dernières peuvent contenir n'importe quelle valeur (il n'y a pas besoin de préciser le type d'information stockée) et celle-ci peut être modifiée à tout moment lors de l'exécution du programme.

Créer une variable

L'interface dans l'éditeur de Scratch 3.0 pour créer une nouvelle variable.

Pour créer une variable, il faut aller dans la catégorie "Données" de la réserve de code dans l'éditeur, puis cliquer sur le bouton "Créer une variable".

Donnez un nom à votre variable, celui-ci doit être unique (du moins, pas encore en utilisation dans ce lutin).

Variable pour tous les lutins (globale)

Une variable créée avec l'option "visible pour tous les lutins" (dit "variable globale") est une variable qui sera visible par tousles lutins ou la scène. Cette variable sera donc visible dans la section des Données dans la réserve de code pour n'importe quel lutin sélectionné (ou même la scène).

Les lutins et la scène auront donc la possibilité de voir la valeur de cette variable ou de la modifier grâce à un bloc de donnée présent dans le code de ce lutin (ou de la scène).

Info
 Info :
Toutes les variables crées sont initialisées à 0. C'est à dire qu'elle ont la valeur 0 après qu'elles aient été crées.


Attention
 Attention :
La valeur de ces variables persiste une fois projet arrêté. Lors d'un nouveau lancement du projet par la même personne, la variable aura alors la même valeur qu'à l'arrêt précédent. Veillez donc bien à toujours donner une valeur de départ (initialiser) à chaque variable au lancement du projet si besoin.


Variable pour ce lutin uniquement (locale)

À contrario, une variable créée avec l'option "pour ce lutin uniquement" (aussi dit "variable locale") sera uniquement visible et accessible dans le code du lutin qui était sélectionné lorsqu'elle a été créée.

Les autres lutins et la scène ne verront pas cette variable apparaître dans la liste des blocs de donnée lorsque ces derniers seront sélectionnés. Ils ne pourront donc pas voir son contenu et le modifier.

Variable serveur, stockée sur le Cloud (dit "variable cloud")

Une variable crée avec l'option "variable server" cochée est une variable accessible par tous les lutins du projet et la scène (au même titre qu'une variable globale) et dont la valeur est conservée sur les serveurs de Scratch.

Cela veut dire que n'importe quel scratcherayant le grade de scratcher confirmé aura le droit et la possibilité de modifier la valeur de cette variable lors de l'exécution du projet. Cette valeur sera alors visible par les autres utilisateurs et pourra être utilisée.

Ces variables sont principalement utilisées pour des projets multijoueurs, comme un record parmi tous les utilisateurs, pour référencer la position de plusieurs joueurs dans un jeu multijoueur, pour connaitre combien d'utilisateurs ont utilisé le projet ou encore comme canal de discussion (chat), etc...

Limitation des variables

  • Les variables locales et globales ont une limite de 1024 caractères.
Info
 Info :
Il existe cependant certaines techniques, comme celle consistant à mettre les éléments dans une liste puis de donner la valeur de la liste à une variable, permettent de faire disparaître la limite de caractère d'une variable.


  • Les variables cloud ne supportent ni les lettres ni les caractères spéciaux. Juste les chiffres de 0 à 9 sont supportés.
Info
 Info :
Il existant cependant des techniques pour enregistrer un nombre en hexadécimal (chiffres de 0 à 9 et lettres de a à f) sur le cloud, permettant d'encoder de plus grandes valeurs et ainsi plus d'informations. Cette technique maintenant obsolète.


Attention
 Attention :
Depuis le 15 février 2018, la longueur maximale des variables stockées sur le serveur (cloud) est de 128 caractères. Aussi, l'hexadécimal n'est plus supporté. Seul les chiffres de 0 à 9 sont maintenant autorisés.


Renommer une variable

Faire un clic droit pour renommer la variable.
L'interface pour renommer une variable dans Scratch 3.0.

Pour renommer une variable, rendez-vous dans la section des données du projet, avec un lutin sélectionné qui peut voir la variable.

Faites ensuite un clic droit sur la variable à renommer puis cliquez sur "renommer la variable".

Donnez ensuite le nouveau nom de la variable. Le nouveau nom doit également être unique pour le lutin.

Supprimer une variable

Pour supprimer une variable, rendez-vous dans la section des données du projet, avec un lutin sélectionné qui peut voir la variable.

Faites un clic droit sur la variable en question puis cliquez sur "supprimer une variable".

Info
 Info :
Il se peut que la variable revienne après avoir été supprimée si vous exécutez un script contenant un bloc de données qui appelle cette variable. Pour résoudre le problème, retirez le bloc en question, puis tentez à nouveau de supprimer la variable. La variable peut également revenir si vous n'avez pas sauvegardé votre projet.


Afficher et cacher une variable

Voir l'article détaillé Afficher et cacher une variable dans un projet.

Différents affichages d'une variable

Voir l'article détaillé Affichage des variables.