Je souhaite avoir un random basé sur 8 lettres
ici "musiques" et lors du mélange, garder "musiques"
dans un ordre différent et en évitant le boublon de lettres
genre "iiieeusq" autre random "eeuqqssm"
cela devrait ressemblait à ça
"muquisse" other random "uumiqses"
-----------------------------------------
ici mon code me donne
"iiieeusq" autre random "eeuqqmsm"
et ce n'est pas l'effet rechercher.
LetterList = ["lettre_m","lettre_u","lettre_q","lettre_s","lettre_e",\
"lettre_i","lettre_u","lettre_s" ] -- m u s i q u e en désordre
repeat with i = 30 to 37
sprite(i).member = LetterList[random(i-29)]
-- put LetterList[i-29]
end repeat
-----------------------------------------
dois-je passer par un list.duplicate() pour garder
le mot "musiques" mais en ordre mélangé ?
j'ai testé aussi ça mais suis pas sûr d'être sur la bonne voie
repeat with r = 1 to LetterList.count
rep = LetterList[random(randomLettres)] -- pas bon car retrouve \
"iiieeusq" autre random "eeuqqssm"
-- rep = LetterList[randomLettres] -- pas bon n'affiche 1 lettre 8 fois
-- rep = LetterList[r] -- erreur see msg dy infinity nb_iteral
put rep
end repeat
-- ici je ne vois pas comment récupérer le random "RandomLettres "
repeat with i = 30 to 37
sprite(i).member = rep -- pas bon
-- ou encore
-- sprite(i).member = RandomLettres -- pas bon non plus
end repeat
-----------------------------------------
Merci pour l'aide apportée
Bon week end ;)
----------
Twinky
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bubar
Déjà j'ai pas tout compris
dans un ordre différent et en évitant le boublon de lettres genre "iiieeusq" autre random "eeuqqssm"
cela devrait ressemblait à ça "muquisse" other random "uumiqses"
Là aussi tu as des doublons. Tu ne veux pas plutôt dire, avec une fois et une seule chaque lettre du mot (donc 2 u c'est normal, mais pas 2 i) ?
De tête, à une heure tardive, un samedi soir (=si ça marche du premier coup c'est du bol) l=["m","u","s","i","q","u","e"] t="" repeat while TRUE nb=random(l.count) --une lettre au hasard if nb=0 then exit repeat --plus sur du tout si random(0) donne bien 0. En gros si l est vide on sort t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
Là tu as (normalement) le mot dans n'importe quel ordre.
-- Bubar Freelance Multimédia - internet Création de logiciels multimédia et sites web http://www.wapitistudio.com
Déjà j'ai pas tout compris
dans un ordre différent et en évitant le boublon de lettres
genre "iiieeusq" autre random "eeuqqssm"
cela devrait ressemblait à ça
"muquisse" other random "uumiqses"
Là aussi tu as des doublons. Tu ne veux pas plutôt dire, avec une fois et
une seule chaque lettre du mot (donc 2 u c'est normal, mais pas 2 i) ?
De tête, à une heure tardive, un samedi soir (=si ça marche du premier coup
c'est du bol)
l=["m","u","s","i","q","u","e"]
t=""
repeat while TRUE
nb=random(l.count) --une lettre au hasard
if nb=0 then exit repeat --plus sur du tout si random(0) donne bien 0.
En gros si l est vide on sort
t=t&l[nb] --on rajoute la lettre
l.deleteat(nb) --on vire la lettre du mot
end repeat
Là tu as (normalement) le mot dans n'importe quel ordre.
--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com
dans un ordre différent et en évitant le boublon de lettres genre "iiieeusq" autre random "eeuqqssm"
cela devrait ressemblait à ça "muquisse" other random "uumiqses"
Là aussi tu as des doublons. Tu ne veux pas plutôt dire, avec une fois et une seule chaque lettre du mot (donc 2 u c'est normal, mais pas 2 i) ?
De tête, à une heure tardive, un samedi soir (=si ça marche du premier coup c'est du bol) l=["m","u","s","i","q","u","e"] t="" repeat while TRUE nb=random(l.count) --une lettre au hasard if nb=0 then exit repeat --plus sur du tout si random(0) donne bien 0. En gros si l est vide on sort t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
Là tu as (normalement) le mot dans n'importe quel ordre.
-- Bubar Freelance Multimédia - internet Création de logiciels multimédia et sites web http://www.wapitistudio.com
Twinky
Hello
en effet j'ai mal formulé mon post...
en gros tu as une liste dans laquelle il ya le mot "musiques"
le random sert à mélanger le mot "musiques" comme si il était dans un checker que tu secoues Ensuite tu en sors une lettre qui ne commence jamais par la meme.
-------- soit :
1er mélange : 1ere lettre tirée au sort est le U, and so on qui composera le mot musiques
2eme mélange : 1 ere lettre cette fois est le S etc... ------- au final tu as le mot "musiques" composé de 8 lettres et quelque soit le random effectué, les lettres affichées à l'écran doivent tjs composer le mot "musiques" mais ne jamais commencer par la mettre lettre
nb Mélanges: 1) m i s u q e s u 2) u q s m u i s e etc...
mais je ne dois jamais avoir 1) m m m u u s s e 2) s s e e i i i m
Thx ;)
------------------------------------------ Bubar wrote : ------------ De tête, à une heure tardive, un samedi soir (=si ça marche du premier coup c'est du bol) l=["m","u","s","i","q","u","e"] t="" repeat while TRUE nb=random(l.count) --une lettre au hasard if nb=0 then exit repeat --plus sur du tout si random(0) donne bien 0. En gros si l est vide on sort t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
Là tu as (normalement) le mot dans n'importe quel ordre. ----------------------------------------- !!! Il en résulte une boucle sans fin et crash de director !!! :(
Hello
en effet j'ai mal formulé mon post...
en gros tu as une liste dans laquelle il ya
le mot "musiques"
le random sert à mélanger le mot "musiques"
comme si il était dans un checker que tu secoues
Ensuite tu en sors une lettre qui ne commence
jamais par la meme.
--------
soit :
1er mélange :
1ere lettre tirée au sort est le U, and so on qui composera le mot musiques
2eme mélange :
1 ere lettre cette fois est le S etc...
-------
au final tu as le mot "musiques" composé de 8 lettres
et quelque soit le random effectué, les lettres
affichées à l'écran doivent tjs composer le mot "musiques"
mais ne jamais commencer par la mettre lettre
nb Mélanges:
1) m i s u q e s u
2) u q s m u i s e
etc...
mais je ne dois jamais avoir
1) m m m u u s s e
2) s s e e i i i m
Thx ;)
------------------------------------------
Bubar wrote :
------------
De tête, à une heure tardive, un samedi soir (=si ça marche du premier coup
c'est du bol)
l=["m","u","s","i","q","u","e"]
t=""
repeat while TRUE
nb=random(l.count) --une lettre au hasard
if nb=0 then exit repeat --plus sur du tout si random(0) donne bien 0.
En gros si l est vide on sort
t=t&l[nb] --on rajoute la lettre
l.deleteat(nb) --on vire la lettre du mot
end repeat
Là tu as (normalement) le mot dans n'importe quel ordre.
-----------------------------------------
!!! Il en résulte une boucle sans fin et crash de director !!! :(
en gros tu as une liste dans laquelle il ya le mot "musiques"
le random sert à mélanger le mot "musiques" comme si il était dans un checker que tu secoues Ensuite tu en sors une lettre qui ne commence jamais par la meme.
-------- soit :
1er mélange : 1ere lettre tirée au sort est le U, and so on qui composera le mot musiques
2eme mélange : 1 ere lettre cette fois est le S etc... ------- au final tu as le mot "musiques" composé de 8 lettres et quelque soit le random effectué, les lettres affichées à l'écran doivent tjs composer le mot "musiques" mais ne jamais commencer par la mettre lettre
nb Mélanges: 1) m i s u q e s u 2) u q s m u i s e etc...
mais je ne dois jamais avoir 1) m m m u u s s e 2) s s e e i i i m
Thx ;)
------------------------------------------ Bubar wrote : ------------ De tête, à une heure tardive, un samedi soir (=si ça marche du premier coup c'est du bol) l=["m","u","s","i","q","u","e"] t="" repeat while TRUE nb=random(l.count) --une lettre au hasard if nb=0 then exit repeat --plus sur du tout si random(0) donne bien 0. En gros si l est vide on sort t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
Là tu as (normalement) le mot dans n'importe quel ordre. ----------------------------------------- !!! Il en résulte une boucle sans fin et crash de director !!! :(
Bubar
Twinky wrote:
Hello
en effet j'ai mal formulé mon post...
en gros tu as une liste dans laquelle il ya le mot "musiques"
le random sert à mélanger le mot "musiques" comme si il était dans un checker que tu secoues Ensuite tu en sors une lettre qui ne commence jamais par la meme.
-------- soit :
1er mélange : 1ere lettre tirée au sort est le U, and so on qui composera le mot musiques 2eme mélange : 1 ere lettre cette fois est le S etc... ------- au final tu as le mot "musiques" composé de 8 lettres et quelque soit le random effectué, les lettres affichées à l'écran doivent tjs composer le mot "musiques" mais ne jamais commencer par la mettre lettre
nb Mélanges: 1) m i s u q e s u 2) u q s m u i s e etc...
mais je ne dois jamais avoir 1) m m m u u s s e 2) s s e e i i i m
Thx ;)
Heu je ne suis toujours pas sur de saisir. Tu parles de mot qui ne commencent pas par la même lettre. Ce que je comprends : faire x tirages, tous différents, et donc aucun ne commence par la même lettre Ex : seuqidum esuqidum iquesmud c'est ok
seuqidum siduudqm pas bon car 2 fois le s en 1er
Mais pour ton exemple "mauvais", je comprends : une seule fois chaque lettre du mot initial.
Si c'est le cas 1, alors mon algo ne fait pas ça. Je ne fais qu'un tirage. Si c'est le cas 2, alors il est bon (hors problème de plantage de la version précédente).
!!! Il en résulte une boucle sans fin et crash de director !!! :(
Ca doit venir de mon test nb=0 A la place, teste ça :
l=["m","u","s","i","q","u","e"] t="" repeat while TRUE
if l.count=0 then exit repeat
nb=random(l.count) --une lettre au hasard t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
t contient le mot mélangé. Attention, je ne fais pas le test de savoir si le random me sort le mot dans le même ordre (c'est rare mais pas impossible) Si tu veux absolument avoir le mot mélangé sans risque d'avoir l'original :
mot="musique" l=[] repeat with i=1 to mot.length l.add(mot.char[i]) end repeat repeat while TRUE
t="" repeat while TRUE
if l.count=0 then exit repeat
nb=random(l.count) --une lettre au hasard t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
if t<>mot then exit repeat end repeat
-- Bubar Freelance Multimédia - internet Création de logiciels multimédia et sites web http://www.wapitistudio.com
Twinky wrote:
Hello
en effet j'ai mal formulé mon post...
en gros tu as une liste dans laquelle il ya
le mot "musiques"
le random sert à mélanger le mot "musiques"
comme si il était dans un checker que tu secoues
Ensuite tu en sors une lettre qui ne commence
jamais par la meme.
--------
soit :
1er mélange :
1ere lettre tirée au sort est le U, and so on qui composera le mot
musiques
2eme mélange :
1 ere lettre cette fois est le S etc...
-------
au final tu as le mot "musiques" composé de 8 lettres
et quelque soit le random effectué, les lettres
affichées à l'écran doivent tjs composer le mot "musiques"
mais ne jamais commencer par la mettre lettre
nb Mélanges:
1) m i s u q e s u
2) u q s m u i s e
etc...
mais je ne dois jamais avoir
1) m m m u u s s e
2) s s e e i i i m
Thx ;)
Heu je ne suis toujours pas sur de saisir. Tu parles de mot qui ne
commencent pas par la même lettre. Ce que je comprends : faire x tirages,
tous différents, et donc aucun ne commence par la même lettre
Ex :
seuqidum
esuqidum
iquesmud
c'est ok
seuqidum
siduudqm
pas bon car 2 fois le s en 1er
Mais pour ton exemple "mauvais", je comprends : une seule fois chaque lettre
du mot initial.
Si c'est le cas 1, alors mon algo ne fait pas ça. Je ne fais qu'un tirage.
Si c'est le cas 2, alors il est bon (hors problème de plantage de la version
précédente).
!!! Il en résulte une boucle sans fin et crash de director !!! :(
Ca doit venir de mon test nb=0
A la place, teste ça :
l=["m","u","s","i","q","u","e"]
t=""
repeat while TRUE
if l.count=0 then exit repeat
nb=random(l.count) --une lettre au hasard
t=t&l[nb] --on rajoute la lettre
l.deleteat(nb) --on vire la lettre du mot
end repeat
t contient le mot mélangé. Attention, je ne fais pas le test de savoir si le
random me sort le mot dans le même ordre (c'est rare mais pas impossible)
Si tu veux absolument avoir le mot mélangé sans risque d'avoir l'original :
mot="musique"
l=[]
repeat with i=1 to mot.length
l.add(mot.char[i])
end repeat
repeat while TRUE
t=""
repeat while TRUE
if l.count=0 then exit repeat
nb=random(l.count) --une lettre au hasard
t=t&l[nb] --on rajoute la lettre
l.deleteat(nb) --on vire la lettre du mot
end repeat
if t<>mot then exit repeat
end repeat
--
Bubar
Freelance Multimédia - internet
Création de logiciels multimédia et sites web
http://www.wapitistudio.com
en gros tu as une liste dans laquelle il ya le mot "musiques"
le random sert à mélanger le mot "musiques" comme si il était dans un checker que tu secoues Ensuite tu en sors une lettre qui ne commence jamais par la meme.
-------- soit :
1er mélange : 1ere lettre tirée au sort est le U, and so on qui composera le mot musiques 2eme mélange : 1 ere lettre cette fois est le S etc... ------- au final tu as le mot "musiques" composé de 8 lettres et quelque soit le random effectué, les lettres affichées à l'écran doivent tjs composer le mot "musiques" mais ne jamais commencer par la mettre lettre
nb Mélanges: 1) m i s u q e s u 2) u q s m u i s e etc...
mais je ne dois jamais avoir 1) m m m u u s s e 2) s s e e i i i m
Thx ;)
Heu je ne suis toujours pas sur de saisir. Tu parles de mot qui ne commencent pas par la même lettre. Ce que je comprends : faire x tirages, tous différents, et donc aucun ne commence par la même lettre Ex : seuqidum esuqidum iquesmud c'est ok
seuqidum siduudqm pas bon car 2 fois le s en 1er
Mais pour ton exemple "mauvais", je comprends : une seule fois chaque lettre du mot initial.
Si c'est le cas 1, alors mon algo ne fait pas ça. Je ne fais qu'un tirage. Si c'est le cas 2, alors il est bon (hors problème de plantage de la version précédente).
!!! Il en résulte une boucle sans fin et crash de director !!! :(
Ca doit venir de mon test nb=0 A la place, teste ça :
l=["m","u","s","i","q","u","e"] t="" repeat while TRUE
if l.count=0 then exit repeat
nb=random(l.count) --une lettre au hasard t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
t contient le mot mélangé. Attention, je ne fais pas le test de savoir si le random me sort le mot dans le même ordre (c'est rare mais pas impossible) Si tu veux absolument avoir le mot mélangé sans risque d'avoir l'original :
mot="musique" l=[] repeat with i=1 to mot.length l.add(mot.char[i]) end repeat repeat while TRUE
t="" repeat while TRUE
if l.count=0 then exit repeat
nb=random(l.count) --une lettre au hasard t=t&l[nb] --on rajoute la lettre l.deleteat(nb) --on vire la lettre du mot end repeat
if t<>mot then exit repeat end repeat
-- Bubar Freelance Multimédia - internet Création de logiciels multimédia et sites web http://www.wapitistudio.com
Twinky
J'ai trouvé la soluce avec une liste Merci du coup de pouce ;) tu m'as bien mis sur la voie
LetterList = ["lettre_m","lettre_u","lettre_s","lettre_i", "lettre_q","lettre_u","lettre_e","lettre_s"] repeat with i = 30 to 37 if LetterList.count=0 then exit repeat nb=random(LetterList.count) a = LetterList[nb] LetterList.deleteat(nb) sprite(i).member = a -- put LetterList[i-29] put a end repeat
---------- Twinky
J'ai trouvé la soluce avec une liste
Merci du coup de pouce ;)
tu m'as bien mis sur la voie
LetterList = ["lettre_m","lettre_u","lettre_s","lettre_i",
"lettre_q","lettre_u","lettre_e","lettre_s"]
repeat with i = 30 to 37
if LetterList.count=0 then exit repeat
nb=random(LetterList.count)
a = LetterList[nb]
LetterList.deleteat(nb)
sprite(i).member = a
-- put LetterList[i-29]
put a
end repeat
J'ai trouvé la soluce avec une liste Merci du coup de pouce ;) tu m'as bien mis sur la voie
LetterList = ["lettre_m","lettre_u","lettre_s","lettre_i", "lettre_q","lettre_u","lettre_e","lettre_s"] repeat with i = 30 to 37 if LetterList.count=0 then exit repeat nb=random(LetterList.count) a = LetterList[nb] LetterList.deleteat(nb) sprite(i).member = a -- put LetterList[i-29] put a end repeat
---------- Twinky
Twinky
j'ai répondu tardivement vu au probleme du serveur toute à l'heure " Error 400 server NEWS (NNTP)More Files writing..."
j'ai répondu tardivement vu au probleme du serveur
toute à l'heure
" Error 400 server NEWS (NNTP)More Files writing..."