Discuss Scratch

djay_tutur
Scratcher
100+ posts

ID pour les clones

Comment faire pour que chaque clone est son propre ID à sa création et qu'il le garde jusqu'à la fin (sans créer une variable pour chaque). Par exemple en utilisant les positions X et Y pour qu'en fonction de sa position, il est cet ID la, mais je n'ai pas trouvé la formule…

Merci d'avance pour vos réponses utiles

ID = Identifiant, comme le votre pour vous connecter à Scratch mais qu'avec des chiffres de “1” à “nombre de clones”

Last edited by djay_tutur (Nov. 30, 2014 19:52:45)

adri326
Scratcher
100+ posts

ID pour les clones

on devrait aussi faire des clone variables, qui sont unique au clone.
Pour ta question, on peut utiliser les n° costumes.
Alexandre_71
New Scratcher
16 posts

ID pour les clones

oui,

quand le drapeau vert pressé
répéter indéfiniment

si <(costume n°) = [5 ]> alors
[ID v] prend la valeur [clone N°5 ]
end

end
djay_tutur
Scratcher
100+ posts

ID pour les clones

Oui c'est une bonne idée mais sauf que là ils ont en générale le même costume (c'est pour mon jeu City)
duktom
Scratcher
39 posts

ID pour les clones

Je ne vois pas l'utilité.. Tu as la brique suivante pour gérer les clones :
quand je commence comme un clone
djay_tutur
Scratcher
100+ posts

ID pour les clones

duktom wrote:

Je ne vois pas l'utilité.. Tu as la brique suivante pour gérer les clones :
quand je commence comme un clone
Oui mais c'est brique ne distingue pas les clones individuellement, par exemple si je veux que le clone A remplace indéfiniment le ligne “ID du clone A” par son numéro de costume je ne peut pas
Ah moins qu'il y est une autre solution que créer des ID ou faire un script pour chaque (je pensais plus à une formule qui utilise la position et en fonction de celle ci l'ID serait différent)

adri326 wrote:

on devrait aussi faire des clone variables, qui sont unique au clone.
Sa serait une super idée des variables unique aux clones!!! Faudrait ajouter cette fonction à Scratch!
Maxlecodeur
Scratcher
8 posts

ID pour les clones

ce que tu pourrais faire c'est ceci
quand je commence comme un clone
si <(position x) = [un certain endroit ]> alors
[ id] prend la valeur [id n°5 ]
end

tu peux aussi faire en sorte que si il se trouve dans une certaine zone il prend un id différent
j'espère t'avoir aidé
djay_tutur
Scratcher
100+ posts

ID pour les clones

Maxlecodeur wrote:

ce que tu pourrais faire c'est ceci
quand je commence comme un clone
si <(position x) = [un certain endroit ]> alors
[ id] prend la valeur [id n°5 ]
end

tu peux aussi faire en sorte que si il se trouve dans une certaine zone il prend un id différent
j'espère t'avoir aidé

Merci de ta réponse, le seul petit hic c'est qu'il y a plus de 150 clones se qui veut dire faire plus de 150 script pour chaque ID en fonction de la position. Je pense que ça va être un peu long!
frouvera
Scratcher
100+ posts

ID pour les clones

Bonjour ,

J'ai la meme question .
J'ai vu en Anglais la création d'un ID de clone.

Je veux créer N atomes ( donc des clones) et pouvoir effacer 1 seul parmi la totalité donc je dois pouvoir identifier chaque clone et envoyer un message type “clone 3 masqué' ou ”supprimer clone 1" … Merci de vos retours.

J'ai trouvé ca si ca peut aider.
http://wiki.scratch.mit.edu/wiki/Advanced_Clone_Usage
TSTD
Scratcher
100+ posts

ID pour les clones

A adri326

Il est possible de faire des variable qui concerne 1 seul clone, pour cela crée une variable “ Pour ce lutin uniquement ” est voila !
Chaque clone de se lutin aura sa variable a lui, en gros unique au clone
TSTD
Scratcher
100+ posts

ID pour les clones

[ id clone] prend la valeur [ 1]
répéter (10) fois

créer un clone de [ moi meme]
ajouter à [ id clone] (1)
end

apres pour le clone


quand je commence comme un clone
si <[id clone] = [ 1]> alors

répéter indéfiniment

end
si <[id clone] = [ 2]> alors
répéter indéfiniment

end


end

Voila j’espère que vous comprendrez, même si je suis pas très bon pour assembler les bock dans les forum, je fait essayer de faire et partager un projet pour vous montrez.
TSTD
Scratcher
100+ posts

ID pour les clones

Apres vous faite une liste pour pouvoir les gérer/supprimer

quand je commence comme un clone
insérer [nom du clone] en position (id clone v) de la liste [clone v]
insérer [0] en position (id clone v) de la liste [ clone effacrer ? ( 1 = effacer, 0 = pas effacer v]

attendre jusqu’à <[<(élément ( id clone ) de [ clone effacer ? ]) = [ 1]>
supprimer ce clone
TSTD
Scratcher
100+ posts

ID pour les clones

dsl si les block ne sont pas lier, comme je vous l'ai dit je suis pas très doué pour les blocs dans les forum
TSTD
Scratcher
100+ posts

ID pour les clones

smrman
Scratcher
1000+ posts

ID pour les clones

Il n'y a pas moyen de gérer les clones individuellement.
Si on dit à un clone de prende un certain costume, ils vont tous le faire.
Comme vous l'avez dit plus haut, il faut créer un ID pour chaque clones mais alors cela ne sert plus à rien de créer des clones, on fait plusieurs lutins à la palce.
TSTD
Scratcher
100+ posts

ID pour les clones

Mais non pas du tout d'accord !!! Si tu cree une variable ( ex id ) pour ce lutin la et que tu crée tes clones comme ceci :

[ id] prend la valeur [ 0]
répéter (5) fois
ajouter à [ id ] (1)
créer un clone de [ moi meme]
end


Voila puis ensuite




quand je commence comme un clone
si <[id] = [1 ]> alors
basculer sur costume [costume 1]
end
si <[id] = [ 2]> alors
basculer sur costume [costume 2]
end



Et voila Moi je l'ai deja fait et sa marche !!! :)
TSTD
Scratcher
100+ posts

ID pour les clones

Est la tu gères chaque clone ! Le truc c'est LA VARIABLE POUR CE LUTIN !!!
Quand tu crée un clone et que le lutin qui l'a crée a une variable uniquement a lui, chaque clone aura également sa variable.
L'avantage est que si tu as besoin de faire une modification, tu le fait sur 1 seul script du clone alors que si tu fait plusieurs lutin … bonne chance tu as autant de script a changer que de lutin en plus …

Voila j’espère que cela vous aide !

Last edited by TSTD (Jan. 28, 2016 15:26:10)

smrman
Scratcher
1000+ posts

ID pour les clones

Oui, c'est vrai, ta technique est bonne…
J'ai alors un petit point de Scratch à revoir.
vincelg99
Scratcher
100+ posts

ID pour les clones

Merci beaucoup TSTD.
Je cherchais justement à supprimer un clone particulier pour faire un jeu de Nim !

Voici ma solution, énormément inspirée de la tienne (mais plus simple, il me semble) :
https://scratch.mit.edu/projects/96953611/

Je peux donc maintenant aller finir mon jeu de Nim !

Encore merci

Vincent
vincelg99
Scratcher
100+ posts

ID pour les clones

Et pour ceux que ça intéresse, voici mon jeu de Nim terminé :
https://scratch.mit.edu/projects/96810023/

Powered by DjangoBB