Discuss Scratch

Thegamerdu51
Scratcher
64 posts

cloud

bonjour,
beaucoup de gens parle de convertir des caracteres (a%*_) en binaire pour les faires rentrer dans le cloud et pouvoir faire des jeux multijoueur mais comment on fait ? je veux dire il n'y a que une seul variable cloud et par consequent un seul joueur ! je veux pas m'amuser a creer 1 000 000 000 000 000 000 variables cloud pour un simple minecraft multijoueur ! donc j'aimerais savoir comment “partager” une variable cloud pour stocker plusieurs données
Ceo_
Scratcher
500+ posts

cloud

Bonjour,
Déjà, la conversion Texte > Chiffres n'est pas du binaire, mais d'autres systèmes. A toi d'expérimenter.
Un grand nombre peux comprendre plusieur données, mais c'est compliqué. Minecraft Multiplayer aussi serait compliqué à faire.
Regardes les projets des autres et analyse leurs codes.

Thegamerdu51
Scratcher
64 posts

cloud

tu peux me donner des exemples de projets stp ?
spirou201
Scratcher
500+ posts

cloud

Tu peux utiliser un variable cloud et quand meme faire en sorte que plusieurs peuvent jouer.

Par exemple, si tu aimerai faire un petit programme qui permet aux joueurs d'envoyer un message aux autres. Tu demande au joueur d'entrer un message, tu le code avec A=1, B=2, C=3… et tu le “pousse” dans ta variable cloud.

donc 1615131309271615091805 donnerait

pomme
poire

Le 27 signifie espace.

Dans cet exemple, on a stoqué deux mots en une seule variable cloud, et tu fais de meme pour un minecraft multijoueur.

Par contre je te conseil de commencer un peu plus simple, car minecraft c'est déjà dur à reproduire en solo…

J'éspère avoir pu t'aider, si t'as d'autres questions n'hésites pas.

Spirou
Thegamerdu51
Scratcher
64 posts

cloud

pour minecraft c'etait un exemple car sur scratch j'aime pas me lancer dans des trucs trop dur… peut etre plus tard mais pas maintenant et concernant ta reponse ta methode marche si je veux mettre des pseudos dans une variables clouds ? comment je “decortique” un
(nom d'utilisateur)
sous forme de chiffre comme tu la dit ? il faudrait faire un code pour recuperer 1 par 1 les lettres du nom d'utilisateur mais je sais pas comment faire…
spirou201
Scratcher
500+ posts

cloud

j'avoue que ca n'a rien de simple, voici le programme que j'utiliserai:

mettre [ 1] à [nbLettre]
répéter (longueur de (nom d'utilisateur)) fois
si (<[lettre (nbLettre) de (nom d'utilisateur)] = ["a"]>) alors
mettre [ cloud] à (regroupe [cloud] [11])
end
si (<[lettre (nbLettre) de (nom d'utilisateur)] = ["b"]>) alors
mettre [ cloud] à (regroupe [cloud] [12])
end
si (<[lettre (nbLettre) de (nom d'utilisateur)] = ["c"]>) alors
mettre [ cloud] à (regroupe [cloud] [13])
end
end

Tu continu comme ca pour tous les symboles que tu souhaites codé. J'ai donné la valeur 11 à “a” au lieu de 1 car 1 n'a qu'un chiffre, et donc ab se chiffrerai 12 et on pourrait le confondre avec L (12eme lettre de l'alphabet)

Spirou
Thegamerdu51
Scratcher
64 posts

cloud

ouais mais sa a l'air long et en plus il faudrait coder pour chaque lettre et chaque emplacement de la lettre sur le nombre d'utilisateur !
spirou201
Scratcher
500+ posts

cloud

Je viens de créer un programme qui permet d'envoyer des messages aux autres joueurs:

Ici

Tu peux un peu regarder comment j'ai fait ca dans le programme.
Thegamerdu51
Scratcher
64 posts

cloud

mrc
Thegamerdu51
Scratcher
64 posts

cloud

je compris pas trop le code… je t'oblige pas a le faire mais tu serais sympa si tu me l'expliquais en detail
spirou201
Scratcher
500+ posts

cloud

J'explique mon code:

Quand drapeau vert cliqué, demander “entrer votre message”

Je demande à l'utilisateur d'entrer un message que je stoque dans la variable message.

Le bloc/fonction code prends une suite de caractère (string) et le code avec des chiffres dans la cloud variable. Ceci est assez simple, donc je pense que tu devrai pouvoir le comprendre.

Je code donc le nom d'utilisateur, ensuite son message.
Le chiffre 38 signifie qu'on change de message.

Je pense que ce que tu ne comprends pas c'est ceci:

mettre [ nbLettre] à [1]
répéter ((longueur de (cloud)) / (2)) fois
si <(regroupe (lettre (nbLettre) de [world]) (lettre (nbLettre+1) de [world])) = [38]> alors
ajouter (phrase) à [list v]

mettre [ phrase] à [ ]

sinon
mettre [phrase] à (regroupe [phrase] (lettre (regroupe (lettre ((nbLettre)) de [cloud]) (lettre ((nbLettre)+1) de [cloud])) de [abcdefghijklmnopeqediofsg]))
end
end

La boucle regarde à chaque fois 2 chiffres. En premier elle regarde les deux premiers, ensuite le 3eme et le 4eme, puis le 5eme et le 6eme…
Si ces deux chiffres mis ensemble donnent 38, elle écrit dans la liste la phrase qu'elle a décoder et remet la phrase à 0.
Dans le cas contraire, les deux chiffres mis ensembles donnent une lettre.
regroupe (lettre ((nbLettre)) de [cloud]) (lettre ((nbLettre)+1) de [cloud])
J'explique mal, je sais.

Dis moi ce que tu ne comprends pas et je ferai de mon mieux.

Last edited by spirou201 (Sept. 4, 2016 15:04:39)

Thegamerdu51
Scratcher
64 posts

cloud

ouh la non je comprends rien du tout en fait
spirou201
Scratcher
500+ posts

cloud

Je suis d'accord avec toi. Mon explication est trop compliqué.

Il y a 2 parties à retenir:

-La partie du codage, qui consiste à coder les lettres en chiffres et à les entrer dans la cloud variable.
-La partie du decodage, qui doit donc decoder cette suite de nombre pour en faire des lettres. C'est celle-ci la plus compliqué. Chaque lettre est codée avec 2 chiffres, il faut donc prendre les chiffres 2 par 2, les mettre ensemble pour former un nombre et trouver la lettre qui lui correspond.

Continu à poser des questions si tu ne comprends pas, c'est vraiment important!
En éspérant avoir été un peu plus clair,
spirou
el15617
Scratcher
1000+ posts

cloud

tiens un autre projet que jai créé en expérimentant moi meme en gros chaque caractere a son équivalent a deuc chiffres …. par exemple l'equivalent de a est 01 ect ^^

voici le projet
https://scratch.mit.edu/projects/114268468/


Vendeur de brouettes depuis 1895 :p
Thegamerdu51
Scratcher
64 posts

cloud

spirou quand j'essai d'aller sur ton projet sa marche pas tu peux me redonner le lien stp ? je vais de mieux examiner le code
Thegamerdu51
Scratcher
64 posts

cloud

j'ai essayé de faire un truc de codage : j'ai reussi pour le codage mais le decodage n'est pas au point ! s'il vous plait vous pouvez allez voir et me dire ce qu'il ne va pas ? merci beaucoup d'avance !
le lien : https://scratch.mit.edu/projects/120309517/
spirou201
Scratcher
500+ posts

cloud

Hellooo!

J'ai vu ton programme et j'ai trouvé ton erreur!

Dans le programme de déchiffrage, tu met le code suivant:

si (<[lettre (nbLettre) de (codage)] = [11]>) alors

end

Le problème c'est que la lettre numéro 3 par exemple de 987654321, c'est 7, et non pas 76.
Tu dois donc regrouper la lettre numéro 3 ET la lettre numéro 3+1 soit la lettre 4 pour avoir 76 et le déchiffrer!

Bonne chance,
Spirou
Thegamerdu51
Scratcher
64 posts

cloud

spirou201 wrote:

Hellooo!

J'ai vu ton programme et j'ai trouvé ton erreur!

Dans le programme de déchiffrage, tu met le code suivant:

si (<[lettre (nbLettre) de (codage)] = [11]>) alors

end

Le problème c'est que la lettre numéro 3 par exemple de 987654321, c'est 7, et non pas 76.
Tu dois donc regrouper la lettre numéro 3 ET la lettre numéro 3+1 soit la lettre 4 pour avoir 76 et le déchiffrer!

Bonne chance,
Spirou

rien compris.
tu peux remixer le projet pour que je comprenne mieux stp ?
spirou201
Scratcher
500+ posts

cloud

Je n'ai pas tout fais car ce serai trop long j'ai juste changé la première ligne pour que tu comprennes.

Bonne chance encore!

Spirou
Thegamerdu51
Scratcher
64 posts

cloud

aaaaaaaaaaaaaaaaaaaah daccoooooooooord !!! pendant que tu remixé jai essayer de le faire de mon côté et en fait sa a pas du tout marché donc merci je vais copier le code pour tous les caracteres

Powered by DjangoBB