Discuss Scratch
- IntensoPower
-
1 post
Faire un système de sauvegarde sur Scratch!
Bonjour à tous et à toutes,
Scratch est un logiciel libre et gratuit, permettant de stocker ses projets sur le “Cloud”. Mais, malheureusement, on ne peut pas stocker plus de 10 variables sur le “Cloud”. On ne peut pas non plus sauvegarder de liste, ce qui aurait été bien utile ici.
Du coup, beaucoup de personnes se demandent comment faire des sauvegardes de leur progression. La version la plus courante, est celle du Remix: on crée un Remix d'un jeu, qu'on modifie pour pouvoir sauvegarder. Mais, malheureusement, tous les visiteurs n'ont pas envie de faire ça: cela prends du temps, et ce n'est pas pratique pour les débutants.
Moi, confronté à ce problème, j'ai essayé, et j'ai fini par trouver un moyen pour les Scratcher avancés. Je l'ai d'abord inclus sur mon Tower Defense, ce qui a été un succés: mon jeu crée une sauvegarde, qu'on a juste à copier-coller sur son ordinateur, pour pouvoir la charger plus tard.
Cette technique fonctionne grâce à un principe de “cryptage”, que le jeu utilise pour crypter et décrypter. Tout d'abord, on visualise les variables et listes à sauvegarder. Ensuite, on décide d'un ordre de cryptage-décryptage (par exemple, d'abord la variable B, puis la liste A, puis la variable C), que l'on va garder pour pouvoir l'utiliser pendant qu'on programme le système. Ensuite, il va falloir pouvoir copier cette sauvegarde, donc on prévoit une liste avec un seul élément (par exemple, la liste Save). Enfin, pour le cryptage, on regroupe les variables et listes en un seul élément de liste. Vu que c'est compliqué, je vais faire un exemple:
Voilà, vous avez crypté votre sauvegarde!
Ensuite, il vous faudra décrypter votre sauvegarde, ce qui s'avère délicat avec, par exemple, C comme nombre entier à 3 chiffres!
Pour décripter votre sauvegarde, cela va être un peu plus compliqué, c'est pourquoi je vais faire une liste de ce qu'il y a à faire dans l'ordre:
1- Créer la “norme” de votre sauvegarde
2- Charger votre sauvegarde
3- Transformer les différents types de variables (listes, entiers à plusieurs chiffres, négatifs…)
4- Les transposer dans les variables
5- Adapter le jeu en fonction de si on a rentré une sauvegarde ou pas
Premièrement, il faut créer un sens a votre sauvegarde: eh oui! Si votre sauvegarde se résume a un nombre correspondant au niveau atteint, ainsi qu'à l'argent qu'on possède, on ne veut pas que le tout soit inversé! Donc, il vous faudra bien réfléchir à comment organiser le décriptage.
On garde l'exemple montré ci-dessus: la sauvegarde se résume à: La variable B, l'élément 1 de la liste A, et la variable C.
La sauvegarde devrai ressembler à ça: 15230
Oui, je suis d'accord, c'est un nombre, mais c'est le principe!
Ici, dans “15230”, (1) correspond à B, (5) correspond à l'élément 1 de A, et (230) correspond à C.
C'est ce qu'on veut! Et n'oubliez pas que c'est un exemple!
Il faudra donc le décrypter comme ça:
Ce qui fait que si on donne 15230:
-B=1
-Elément 1 de A=5
-C=230
C'est la version la plus simple, mais malheureusement, celle qui fait la sauvegarde la plus lourde: 5 chiffres, alors qu'on peut passer à 4, en modifiant des ligne de code dans le cryptage!
Si vous savez que C sera toujours un multiple de 10 (donc qui finira TOUJOURS par zéro), on peut faire, en cryptant:
Dans ce cas là, on finit avec 1523, donc dans le décryptage, on fait:
Eh oui, puisqu'on a divisé dans le cryptage, on multiplie dans le décryptage!
N'oubliez pas qu'ici, c'est un exemple simple, pour un petit jeu avec peu de variables, donc une petite sauvegarde.
Vous pourrez peut-être, si vous bossez ENORMEMENT, vous retrouvez avec une sauvegarde du genre: 12IntensoPower1235965222, ce qui peut être incompréhensible!
Donc il vous fauidra bien réfléchir à vos variables.
Voilà, c'est fini, si vous n'avez pas compris, commentez, si ça vous a aidé, commentez, si vous avez des conseils, commentez,si vous a… bon, bref COMMENTEZ!
Je vous laisse, salut, et à la prochaine!
Scratch est un logiciel libre et gratuit, permettant de stocker ses projets sur le “Cloud”. Mais, malheureusement, on ne peut pas stocker plus de 10 variables sur le “Cloud”. On ne peut pas non plus sauvegarder de liste, ce qui aurait été bien utile ici.
Du coup, beaucoup de personnes se demandent comment faire des sauvegardes de leur progression. La version la plus courante, est celle du Remix: on crée un Remix d'un jeu, qu'on modifie pour pouvoir sauvegarder. Mais, malheureusement, tous les visiteurs n'ont pas envie de faire ça: cela prends du temps, et ce n'est pas pratique pour les débutants.
Moi, confronté à ce problème, j'ai essayé, et j'ai fini par trouver un moyen pour les Scratcher avancés. Je l'ai d'abord inclus sur mon Tower Defense, ce qui a été un succés: mon jeu crée une sauvegarde, qu'on a juste à copier-coller sur son ordinateur, pour pouvoir la charger plus tard.
Cette technique fonctionne grâce à un principe de “cryptage”, que le jeu utilise pour crypter et décrypter. Tout d'abord, on visualise les variables et listes à sauvegarder. Ensuite, on décide d'un ordre de cryptage-décryptage (par exemple, d'abord la variable B, puis la liste A, puis la variable C), que l'on va garder pour pouvoir l'utiliser pendant qu'on programme le système. Ensuite, il va falloir pouvoir copier cette sauvegarde, donc on prévoit une liste avec un seul élément (par exemple, la liste Save). Enfin, pour le cryptage, on regroupe les variables et listes en un seul élément de liste. Vu que c'est compliqué, je vais faire un exemple:
remplacer l'élément ( 1) de la liste [Save v] par (B)
remplacer l'élément ( 1) de la liste [Save v] par (regroupe (élément ( 1) de [Save v] :: list) (élément ( 1) de [A v] :: list))
remplacer l'élément ( 1) de la liste [Save v] par (regroupe (élément ( 1) de [Save v] :: list) (C))
montrer la liste [Save v]
Voilà, vous avez crypté votre sauvegarde!
Ensuite, il vous faudra décrypter votre sauvegarde, ce qui s'avère délicat avec, par exemple, C comme nombre entier à 3 chiffres!
Pour décripter votre sauvegarde, cela va être un peu plus compliqué, c'est pourquoi je vais faire une liste de ce qu'il y a à faire dans l'ordre:
1- Créer la “norme” de votre sauvegarde
2- Charger votre sauvegarde
3- Transformer les différents types de variables (listes, entiers à plusieurs chiffres, négatifs…)
4- Les transposer dans les variables
5- Adapter le jeu en fonction de si on a rentré une sauvegarde ou pas
Premièrement, il faut créer un sens a votre sauvegarde: eh oui! Si votre sauvegarde se résume a un nombre correspondant au niveau atteint, ainsi qu'à l'argent qu'on possède, on ne veut pas que le tout soit inversé! Donc, il vous faudra bien réfléchir à comment organiser le décriptage.
On garde l'exemple montré ci-dessus: la sauvegarde se résume à: La variable B, l'élément 1 de la liste A, et la variable C.
La sauvegarde devrai ressembler à ça: 15230
Oui, je suis d'accord, c'est un nombre, mais c'est le principe!
Ici, dans “15230”, (1) correspond à B, (5) correspond à l'élément 1 de A, et (230) correspond à C.
C'est ce qu'on veut! Et n'oubliez pas que c'est un exemple!
Il faudra donc le décrypter comme ça:
mettre [ B] à (lettre (1) de Save)
remplacer l'élément (1) de la liste [ A] par (lettre (2) de Save)
mettre [ C] à (lettre (3) de Save)
mettre [ C] à (regroupe (C) (lettre (4) de Save))
mettre [ C] à (regroupe (C) (lettre (5) de Save))
Ce qui fait que si on donne 15230:
-B=1
-Elément 1 de A=5
-C=230
C'est la version la plus simple, mais malheureusement, celle qui fait la sauvegarde la plus lourde: 5 chiffres, alors qu'on peut passer à 4, en modifiant des ligne de code dans le cryptage!
Si vous savez que C sera toujours un multiple de 10 (donc qui finira TOUJOURS par zéro), on peut faire, en cryptant:
remplacer l'élément ( 1) de la liste [Save v] par (B)
remplacer l'élément ( 1) de la liste [Save v] par (regroupe (élément ( 1) de [Save v] :: list) (élément ( 1) de [A v] :: list))
remplacer l'élément ( 1) de la liste [Save v] par (regroupe (élément ( 1) de [Save v] :: list) ((C) / (10)))
montrer la liste [Save v]
Dans ce cas là, on finit avec 1523, donc dans le décryptage, on fait:
mettre [ B] à (lettre (1) de Save)
remplacer l'élément (1) de la liste [ A] par (lettre (2) de Save)
mettre [ C] à (lettre (3) de Save)
mettre [ C] à (regroupe (C) (lettre (4) de Save))
mettre [ C] à ((C)*(10))
Eh oui, puisqu'on a divisé dans le cryptage, on multiplie dans le décryptage!
N'oubliez pas qu'ici, c'est un exemple simple, pour un petit jeu avec peu de variables, donc une petite sauvegarde.
Vous pourrez peut-être, si vous bossez ENORMEMENT, vous retrouvez avec une sauvegarde du genre: 12IntensoPower1235965222, ce qui peut être incompréhensible!
Donc il vous fauidra bien réfléchir à vos variables.
Voilà, c'est fini, si vous n'avez pas compris, commentez, si ça vous a aidé, commentez, si vous avez des conseils, commentez,si vous a… bon, bref COMMENTEZ!
Je vous laisse, salut, et à la prochaine!
- Kp_sept
-
34 posts
Faire un système de sauvegarde sur Scratch!
pourrais tu faire un script complet SVP
- Bouboufez
-
1000+ posts
Faire un système de sauvegarde sur Scratch!
Merci de ne pas ressortir d'anciens projets. De plus, ce script est complet, je ne vois pas ce que tu veux ajouter
Règles du forum
Règles du forum
- t0to
-
100+ posts
Faire un système de sauvegarde sur Scratch!
salut
c'est un tuto (bien utile d’ailleurs) donc si il remonte dans le forum français ce n'est pas grave Merci de ne pas ressortir d'anciens projets. De plus, ce script est complet, je ne vois pas ce que tu veux ajouter
Règles du forum
- Bouboufez
-
1000+ posts
Faire un système de sauvegarde sur Scratch!
Oui, mais ce sujet est déjà cité dans les questions courantes, un sujet fixé, alors inutile de le remonter !
- Kp_sept
-
34 posts
Faire un système de sauvegarde sur Scratch!
questions courantes, un sujet fixé, alors inutile de le remonter !Oui, mais ce sujet est déjà cité dans les
si tu préfères un exempleetc
quand le drapeau vert pressé
- Bouboufez
-
1000+ posts
Faire un système de sauvegarde sur Scratch!
Bah tu rajoutes juste
quand le drapeau vert presséAu dessus des scripts. Et après ça s'adapte en fonction de ton projet
- Extremguy
-
100+ posts
Faire un système de sauvegarde sur Scratch!
J'en ai déja fait un. Voici quelque exemples
Le chat: https://scratch-mit-edu.ezproxyberklee.flo.org/projects/127507236/ . Par contre ya beaucoup de mot censuré
Le “MMO” enfaite ca fait qu'enregistrer ou son les gens: https://scratch-mit-edu.ezproxyberklee.flo.org/projects/127135844/
Le chat: https://scratch-mit-edu.ezproxyberklee.flo.org/projects/127507236/ . Par contre ya beaucoup de mot censuré

Le “MMO” enfaite ca fait qu'enregistrer ou son les gens: https://scratch-mit-edu.ezproxyberklee.flo.org/projects/127135844/
- el15617
-
1000+ posts
Faire un système de sauvegarde sur Scratch!
J'en ai déja fait un. Voici quelque exemples
Le chat: https://scratch-mit-edu.ezproxyberklee.flo.org/projects/127507236/ . Par contre ya beaucoup de mot censuré
Le “MMO” enfaite ca fait qu'enregistrer ou son les gens: https://scratch-mit-edu.ezproxyberklee.flo.org/projects/127135844/
tkt pas quasi tt le monde ici en a déja fait mdr (t'as l'air de débarquer mdrrr)
- t0to
-
100+ posts
Faire un système de sauvegarde sur Scratch!
questions courantes, un sujet fixé, alors inutile de le remonter !je vois pas en quoi c'est problématique de remonter un tuto Oui, mais ce sujet est déjà cité dans les
- Bouboufez
-
1000+ posts
Faire un système de sauvegarde sur Scratch!
D'autres sujets méritent d'être vus, alors que celui-ci encombre tout l'espace
- littlekitykat
-
500+ posts
Faire un système de sauvegarde sur Scratch!
oki j'en prends note pour les sauvegardes éventuelles de mon jeu :
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/140143740/
C'est toujours utiles des sauvegarde dans un jeu de plateforme
https://scratch-mit-edu.ezproxyberklee.flo.org/projects/140143740/
C'est toujours utiles des sauvegarde dans un jeu de plateforme

- Rallonge
-
8 posts
Faire un système de sauvegarde sur Scratch!
Je trovue ce “tuto” vraiment utile grace a toi je sais sauvegarder merci
- Lextaire_
-
3 posts
Faire un système de sauvegarde sur Scratch!
C'est bien, complet mais je ne comprends pas pourquoi 15230 ?
- Dairop
-
100+ posts
Faire un système de sauvegarde sur Scratch!
C'est bien, complet mais je ne comprends pas pourquoi 15230 ?
C'est un exemple de valeur
- Met4Knight
-
100+ posts
Faire un système de sauvegarde sur Scratch!
envoyer à tous [ j'ai pas compris] et attendre