Fonction random, definir le % de chance

Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005 - 1 janv. 2005 à 18:02
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010 - 2 janv. 2005 à 14:21
Bonjour,
Je voudrai savoir si juste en flash on pouvait dans la fonction random definir le nombre de chance et comment.
Merci.

9 réponses

WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
2 janv. 2005 à 00:40
Tu as bien lu l'aide de Flash ?
Car si j'ai bien compris ta question, c'est la définition même du random() que tu demandes.
Exemple : si tu veux que l'utilisateur ait une chance sur 100 de gagner (si c'est un jeu), tu mets :
random(100);
Ce code sélectionnera un chiffre entre 0 et 99.
Voilà. @+ et bonne année !

À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
0
Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
2 janv. 2005 à 12:50
Salut merci de ta réponse, je m'explique de ce que je veus faire:

En faite j'ai créé un clip ou a l'interieur j'ai mis 6 clip, au premier de ces clip j'ai mis
gotoAndStop(random(7));
et tout les autres
stop();

Donc pas de problem sa me genere un clip aleatoirement a chaque fois sauf que ce que je veu faire c'est dire que le clip 1 est 30% de chance d'etre choisi, le clip 2 est25% , le clip3 est 20% , etc.

Et sa je ne sait pas comment faire et il ne me semble pas que se soit possible.
Si c'est possible merci de me le dire.

Et bonne anné a vous aussi!
0
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
2 janv. 2005 à 12:59
Un truc simple :
tu fais un random(100) et là, tu dis que si le résultat est inférieur ou égal à 30, c'est le clip 1 qui se lance, si il est inférieur ou égal à 55 et supérieur à 30 c'est le clip 2 qui se lance ainsi de suite...
C'est plutôt simple, non ?
@+.

À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
0
Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
2 janv. 2005 à 13:05
Je vais essayer... merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
2 janv. 2005 à 13:33
J'ai un ptit problem, voila mon code:

random(100);
if(random <= 30 ){
gotoAndStop(2);
}
if(random <= 55 and random > 30){
gotoAndStop(3);
}

Mon problem est que il charge toujour le clip 2 et jamais le 3.
Pourquoi?

(je ne suis pas aller au bout du code comme je vois ce problem sinon je doit aller jusqua 5 clip)
0
Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
2 janv. 2005 à 13:37
voila mon code final qui a toujour le meme problem:

random(100);
if(random <= 30 ){
gotoAndStop(1);
}
if(random <= 55 and random > 30){
gotoAndStop(3);
}
if(random <= 75 and random > 55){
gotoAndStop(2);
}
if(random <= 90 and random > 75){
gotoAndStop(4);
}
if(random <= 100 and random > 90){
gotoAndStop(5);
}
0
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
2 janv. 2005 à 13:44
Ne mets pas and. Les anciennes versions de Flash supportait cette écriture. Mais c'est rès déconseillé avec les versions de Flash supérieures à la 4ème.
Maintenant, on traduit and par && et or par ||.
@+ et bonne continuation dans Flash.

À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
0
Herokill Messages postés 20 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 4 juillet 2005
2 janv. 2005 à 13:56
ok merci, j'ai mis && mais jai toujour mon problem, je vais voir d'autre possibilité...
0
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
2 janv. 2005 à 14:21
Qu'est-ce que je suis bête !
random ne peut être définit comme une variable. Il nepeut être définit que comme fonction. Donc ton code correct serait :

var hasard:Number=random(100);
if(hasard <= 30 ){
gotoAndStop(1);
}
if(hasard <= 55 && hasard > 30){
gotoAndStop(3);
}
if(hasard <= 75 && hasard > 55){
gotoAndStop(2);
}
if(hasard <= 90 && hasard > 75){
gotoAndStop(4);
}
if(hasard <= 100 && hasard > 90){
gotoAndStop(5);
}

Voilà. Et ça marche, j'ai essayé.
@+.

À tout problème réside une solution. Si il n'y a pas de solution, c'est qu'il y a un problème.
0
Rejoignez-nous