Discuss Scratch
- Discussion Forums
- » Français
- » jeu de Nim : comment supprimer des clones ?
- vincelg99
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
Bonjour,
J'essaie de faire un jeu de Nim (20 bâtons, chaque joueur peut en enlever 1, 2 ou 3 et celui qui prend le dernier a perdu).
Je n'ai pas de problème quand c'est le joueur qui joue : le bâton se supprime bien quand on clique dessus.
Par contre quand c'est au tour de l'IA je n'arrive pas à supprimer le ou les bâtons.
Je précise que j'ai crée mes 20 bâtons en faisant des clones d'un seul lutin.
Si j'avais choisi la solution d'avoir 20 lutins différents alors j'y arrive (en mettant pour chaque lutin le script : “SI nombre de bâtons restant > numéro du lutin ALORS afficher SINON cacher”).
Mais là, avec des clones, je ne m'en sors pas…
Quelqu'un a-t-il une idée sur comment supprimer un clone dans une liste de clones, sans cliquer dessus ?
Mon projet :
https://scratch.mit.edu/projects/96810023/
(le problème est dans le bloc “supprimer batons” du 2ème lutin)
Merci
Vincent
J'essaie de faire un jeu de Nim (20 bâtons, chaque joueur peut en enlever 1, 2 ou 3 et celui qui prend le dernier a perdu).
Je n'ai pas de problème quand c'est le joueur qui joue : le bâton se supprime bien quand on clique dessus.
Par contre quand c'est au tour de l'IA je n'arrive pas à supprimer le ou les bâtons.
Je précise que j'ai crée mes 20 bâtons en faisant des clones d'un seul lutin.
Si j'avais choisi la solution d'avoir 20 lutins différents alors j'y arrive (en mettant pour chaque lutin le script : “SI nombre de bâtons restant > numéro du lutin ALORS afficher SINON cacher”).
Mais là, avec des clones, je ne m'en sors pas…
Quelqu'un a-t-il une idée sur comment supprimer un clone dans une liste de clones, sans cliquer dessus ?
Mon projet :
https://scratch.mit.edu/projects/96810023/
(le problème est dans le bloc “supprimer batons” du 2ème lutin)
Merci
Vincent
- Red-Cloud
-
Scratcher
86 posts
jeu de Nim : comment supprimer des clones ?
J'ai personnellement, ne vois pas comment, mais vous pourriez juste un clic droit >>> dupliquer le bâton jusqu'à ce que vous avez 20 et faire de cette façon.
- vincelg99
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
Bonjour Red-Cloud,
Effectivement je pourrais facilement dupliquer le sprite/lutin du bâton, mais :
- le script est différent pour chaque bâton : il faudrait donc modifier à la main le script de chacun des 20 bâtons
- si je veux modifier le nombre de bâtons initiaux il faut ajouter ou supprimer des lutins à la main
Ce n'est donc pas très satisfaisant.
J'aimerai conserver un unique lutin que je clone et avoir le nombre initial de bâtons dans un simple variable.
Existe-t-il une “table des clones” ?
(Scratch en utilise probablement une en interne, mais est-elle accessible au programmeur ?)
Merci.
Vincent
Effectivement je pourrais facilement dupliquer le sprite/lutin du bâton, mais :
- le script est différent pour chaque bâton : il faudrait donc modifier à la main le script de chacun des 20 bâtons
- si je veux modifier le nombre de bâtons initiaux il faut ajouter ou supprimer des lutins à la main
Ce n'est donc pas très satisfaisant.
J'aimerai conserver un unique lutin que je clone et avoir le nombre initial de bâtons dans un simple variable.
Existe-t-il une “table des clones” ?
(Scratch en utilise probablement une en interne, mais est-elle accessible au programmeur ?)
Merci.
Vincent
- ticatoc
-
Scratcher
59 posts
jeu de Nim : comment supprimer des clones ?
quand ce lutin est cliqué
cacher
- vincelg99
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
Bonjour ticatoc,
Je voudrais pouvoir supprimer le clone sans cliquer dessus.
Par exemple, je voudrais une fonction du genre :
supprimer-clone(3)
Merci
Vincent
Je voudrais pouvoir supprimer le clone sans cliquer dessus.
Par exemple, je voudrais une fonction du genre :
supprimer-clone(3)
Merci
Vincent
- vincelg99
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
Problème résolu !
Voici la réponse :
https://scratch.mit.edu/projects/96953611/
L'idée est de créer une variable “pour ce lutin uniquement”.
Elle m'a été soufflée par TSTD sur ce forum :
https://scratch.mit.edu/discuss/topic/69410/
(la discussion a été ouverte il y a plus d'un an, mais heureusement TSTD l'a reprise la semaine dernière !)
A bientôt
Vincent
Voici la réponse :
https://scratch.mit.edu/projects/96953611/
L'idée est de créer une variable “pour ce lutin uniquement”.
Elle m'a été soufflée par TSTD sur ce forum :
https://scratch.mit.edu/discuss/topic/69410/
(la discussion a été ouverte il y a plus d'un an, mais heureusement TSTD l'a reprise la semaine dernière !)
A bientôt
Vincent
- vincelg99
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
Et pour ceux que ça intéresse, voici mon jeu de Nim terminé :
https://scratch.mit.edu/projects/96810023/
https://scratch.mit.edu/projects/96810023/
- ticatoc
-
Scratcher
59 posts
jeu de Nim : comment supprimer des clones ?
quand je commence comme un clone
supprimer ce clone
- vincelg99
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
Bonjour ticatoc,
Si seulement ta solution pouvait fonctionner aussi simplement !
Ta solution est très bien quand tu veux faire faire quelque chose à un clone puis le supprimer quand il a terminé sa tâche.
Et en plus cela supprime tous les clones ainsi créé.
Ce que je cherchais c'est d'avoir plein de clones et ensuite qu'un autre lutin puisse décider d'effacer tel ou tel clone en particulier.
La solution (et je crois que c'est la seule) est d'associer une variable locale avec une valeur unique lors de la création de chaque clone.
Ainsi on peut choisir quel clone supprimer plus tard.
Vincent
Si seulement ta solution pouvait fonctionner aussi simplement !
Ta solution est très bien quand tu veux faire faire quelque chose à un clone puis le supprimer quand il a terminé sa tâche.
Et en plus cela supprime tous les clones ainsi créé.
Ce que je cherchais c'est d'avoir plein de clones et ensuite qu'un autre lutin puisse décider d'effacer tel ou tel clone en particulier.
La solution (et je crois que c'est la seule) est d'associer une variable locale avec une valeur unique lors de la création de chaque clone.
Ainsi on peut choisir quel clone supprimer plus tard.
Vincent
- AD1971
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
j'ai peut étre une autre solution explication: normalement un clone fait la même chose que l'autre clone puisque c'est une copie.Ton idée est donc impossible!!!!Mais il y a d'autre techniques comme celle ci explication:a la place de faire un clone tu duplique carrément le script…et ainsi ce script peut se supprimer.
- vincelg99
-
Scratcher
100+ posts
jeu de Nim : comment supprimer des clones ?
Mon idée n'est pas impossible puisque j'ai réussi à la faire fonctionner !
https://scratch.mit.edu/projects/96953611/
Pour plus d'info : voir messages #6 et #7 de ce fil de discussion.
Merci quand même et probablement à bientôt.
Vincent
https://scratch.mit.edu/projects/96953611/
Pour plus d'info : voir messages #6 et #7 de ce fil de discussion.
Merci quand même et probablement à bientôt.
Vincent
- Discussion Forums
- » Français
-
» jeu de Nim : comment supprimer des clones ?