De Scratch Wiki en Français


Listes cloud (tutoriel)



Introduction

Nombreuses sont les personnes qui demandent la création sur Scratch de "listes cloud", l'équivalent des variables cloud. Cela à toujours été refusé, au motif que cela prend trop de place. Il est cependant possible d'en créer une en se basant sur les variables cloud.

Attention
 Attention :
Les listes cloud que vous allez créer ne sont évidemment pas illimitées, comme elles sont basées sur les variables cloud, qui sont elles-même limitées...


Variables cloud

Voici quelques principes des variables cloud nécessaires pour la création de notre liste cloud. Pour plus d'information, vous pouvez cliquer sur ce lien. Les variables cloud possèdent trois limites, en raison du coût d'entretien des serveurs où sont stockées les variables cloud:

  • On peut avoir sur 1 projet au maximum 10 variables cloud
  • On peut stocker au maximum 256 caractères sur une variable cloud
  • On ne peut stocker que des chiffres (0;1;2;3;4;5;6;7;8;9)

Listes

Les listes permettent de stocker un nombre illimité d'éléments. Elles n'existent pas dans tous les autres langages de programmation, mais ont été ajoutées à Scratch pour simplifier son utilisation.Vous pouvez trouver un article sur les listes à en cherchant "blocs de donnée" dans la barre de recherche du wiki.

Crypter et Décrypter

Principe

Nous allons donc maintenant apprendre à crypter un texte en chiffres, en raison de la contrainte des chiffres.Il faut donc établir un code associant un nombre à un caractère.

Par exemple, nous voulons pouvoir stocker tous les caractères de 0 à 9, de a à z (en minuscule), de A à Z (en majuscule) et quelques caractères spéciaux (tels que " " (espace), "." (point), "," (virgule), ";" (point virgule), "'" (apostrophe), """ (guillemet), "+" (plus), "-" (moins), "*" (fois), "/" (divisé) et "_" (tirait du bas)). Nous comptons qu'il nous faut donc 73 nombres différents (10 chiffres + 26 lettre minuscules + 26 lettres majuscules + 11 caractères spéciaux).

La table de correspondance utilisée pour l'exemple. Chaque caractère correspond à un nombre.
Attention
 Attention :
Il faut bien mettre "01" et non "1", car le programme ne saurait plus faire la différence entre le premier caractère de "17" et "1"
Attention
 Attention :
Il ne faut pas mettre "00" car le programme supprimerait alors ces 2 chiffres.

Programme

Nous allons maintenant nous atteler à la pratique.

Il faut commencer par créer une liste que nous allons appeler "ALPHABET", où nous allons mettre tous les éléments listés ci-dessus dans le bon ordre.

<html><iframe src="https://scratch.mit.edu/projects/388103533/embed" allowtransparency="true" width="485" height="402" frameborder="0" scrolling="no" style="margin:auto;display:block;padding:10px;max-width:100%;

}"> </iframe>
<a style="background-color:#FFAB1A;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/projects/388103533/">Aller sur la page du projet </a> <a style="background-color:#4D97FF;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/projects/388103533/editor/"><img src="https://fr.scratch-wiki.info/w/images/6/63/Voir_%C3%A0_l%27int%C3%A9rieur.svg"></img> Voir à l'intérieur </a> <a style="background-color:#0FBD8C;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/create?is_remix=1&original_id=388103533&title=Remix"><img src="https://fr.scratch-wiki.info/w/images/2/2a/Remix.svg"></img> Remixer </a> </html>

Info
 Info :
Vous pouvez copier tout le script de codage-décodage en le mettant dans le sac-à-dos, et le voir en cliquant sur "voir à l'intérieur"

Élément de séparation

Principe

Nous allons maintenant voir comment stocker une liste dans une variable. Il faut choisir un élément de séparation, quand le programme le rencontrera, il devra passer à l'élément suivant.

Attention
 Attention :
Il ne faut pas qu'il apparaisse dans votre liste de caractères.
Attention
 Attention :
Il doit être de 2 caractères, comme le reste de la liste.

Nous allons donc choisir comme séparateur 99.Le programme analysera comme ci-dessus, mais il rajoutera ses éléments à une liste, et quand il rencontrera 99, il ouvrira un nouvel élément.

Programme

Nous allons maintenant nous atteler à la pratique. Vous y trouverez toutes les informations nécessaires.

Info
 Info :
Vous pouvez lancer le projet facilement, tout est dit dedans
<html><iframe src="https://scratch.mit.edu/projects/388139669/embed" allowtransparency="true" width="485" height="402" frameborder="0" scrolling="no" style="margin:auto;display:block;padding:10px;max-width:100%;

}"> </iframe>
<a style="background-color:#FFAB1A;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/projects/388139669/">Aller sur la page du projet </a> <a style="background-color:#4D97FF;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/projects/388139669/editor/"><img src="https://fr.scratch-wiki.info/w/images/6/63/Voir_%C3%A0_l%27int%C3%A9rieur.svg"></img> Voir à l'intérieur </a> <a style="background-color:#0FBD8C;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/create?is_remix=1&original_id=388139669&title=Remix"><img src="https://fr.scratch-wiki.info/w/images/2/2a/Remix.svg"></img> Remixer </a> </html>

Comment dépasser les limites des listes cloud

Principe

Les listes cloud ont les mêmes limites que les variables cloud. Il faut donc trouver une façon d'agrandir les listes cloud.

coller les variables cloud

Principe

Coller les variables cloud consiste à les considérer comme une seule variable, ce qui permet d'avoir une variable de 2560 caractères.

Attention
 Attention :
Il reste une limite, 2560 caractères, ce qui équivaut, dans le cadre d'une liste et du codage présenté ci-dessus à environ 1200 caractères, ce qui reste finalement assez peu.
Programme

Nous allons maintenant passer à la partie pratique. Ce programme divise 1 variable en 5 variables cloud, ce qui lui permet d'atteindre une capacité de 1280 caractères.

<html><iframe src="https://scratch.mit.edu/projects/388179535/embed" allowtransparency="true" width="485" height="402" frameborder="0" scrolling="no" style="margin:auto;display:block;padding:10px;max-width:100%;

}"> </iframe>
<a style="background-color:#FFAB1A;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/projects/388179535/">Aller sur la page du projet </a> <a style="background-color:#4D97FF;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/projects/388179535/editor/"><img src="https://fr.scratch-wiki.info/w/images/6/63/Voir_%C3%A0_l%27int%C3%A9rieur.svg"></img> Voir à l'intérieur </a> <a style="background-color:#0FBD8C;border-style:none;border-radius:4px;color:#fff;cursor:pointer;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:700;padding-left:15px;padding-right:15px;text-align:center;line-height:40px;margin:10px;display:inline-block;" target="_blank" href="https://scratch.mit.edu/create?is_remix=1&original_id=388179535&title=Remix"><img src="https://fr.scratch-wiki.info/w/images/2/2a/Remix.svg"></img> Remixer </a> </html>

2 listes

Principe

Une liste simple possède 2 propriétés qui nous intéressent:

  • Elles sont quasiment infinies(200 000 éléments maximum)
  • Quand vous, le propriétaire du projet, ajoutez un élément à une liste, il s'enregistre et ne s'efface pas à la réinitialisation du projet.

Vous pouvez donc, quand votre liste cloud est remplie, la décharger dans une autre liste manuellement, afin qu'elle s'enregistre.

Programme

Il faut que vous vous créiez une deuxième liste. De plus, vous devrez rajouter à votre projet un programme qui compte la longueur de votre variable cloud s'occupant de la liste cloud, et, quand il commence à atteindre ses limites, vous prévenir quand vous lancez le projet.

Attention
 Attention :
Cette idée marche pour des petits ou moyens projets, mais, quand votre liste grandit, il peut se poser une question de temps.(Cela prend beaucoup de temps, et, dans de grands projets la liste cloud se remplirait trop rapidement.)
Info
 Info :
Le plus pratique est donc d'allier ces deux techniques
Cet article fait partie de la catégorie des tutos
Tous les articles de cette catégorie :