cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009
-
6 sept. 2005 à 21:38
cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009
-
9 oct. 2005 à 17:15
Bonsoir,
J'aimerai réaliser l'algorythme suivant sans utiliser 50 "if" etc..
J'ai une trame T de 12 symboles.
Parmis ces douze symboles, certains sont pareils. (Le 3e, le 8e et le
10e sont pareils et le 5e et le 12e sont également identiques)
Il y'a trois variables : sp1, sp2, sp3, et pour chacune d'entre elles,
un symbole aléatoire n (donc 1<n<12) de la trame T.
Je voudrais que lorsqu'au moins deux variables sont égales (deux
symboles qui leurs sont associés sont pareils), la fonction x
retourne "1" pour les variables dont le symbole est le 3e, le 8e ou le
10e
ou qu'elle retourne "2" lorsque le symbole est le 5e ou le 12e...
Je ne sais pas si c'est très clair..
N'étant pas un roi des conditions, je souhaiterais un peu d'aide.
cs_Aaron
Messages postés116Date d'inscriptionlundi 29 juillet 2002StatutMembreDernière intervention19 janvier 2009 9 oct. 2005 à 17:15
Hello.
Je vais tenter d'écrire ce qui va suivre avec le plus de clarté
possible malgré l'atroce migraine névrotique que le problème dont il
est question m'a causé.
Tout d'abord, je reprend ce qui précède cette réponse :
sp1=Random(12)+1;
spin1.gotoAndPlay(Number(sp1));
sp2=Random(12)+1;
spin2.gotoAndPlay(Number(sp2));
sp3=Random(12)+1;
spin3.gotoAndPlay(Number(sp3));
var Val (sp1 sp2 || sp1 == sp3) ? sp1 : ((sp2 == sp3) ? sp2 : Number.NaN);
switch (Val) {
case Number.NaN : gain = 0; break;
case 2 :
gain = 1;
break;
case 3 :
gain = 0,01;
break;
case 5 :
gain = 0,5;
break;
case 7 :
gain = 0,1;
break;
case 8 :
gain = 0,01;
break;
case 10
: gain = 0,01;
break;
case 11
: gain = 0,1;
break;
default :
gain = 0;
break;
}
Je m'explique,
Le script ci-dessus génère trois nombres différents correspondant aux variables sp1, sp2, sp3
Ces nombres correspondent à différents symboles (12 au total) sur la trame T d'un clip C.
Certains de ces symboles sont les mêmes mais correspondent à des
nombres différents, autrement sur la trame T de ce clip C, il y'a des
frames identiques.
Pour le symbole A : 3, 8 et 10
Pour le symbole B : 7 et 11.
C'est à dire que les frames 3, 8 et 10 sont pareilles et il en va de même pour la 7e et la 11e.
Or, le code ci-dessus renvoie à une Case du Switch seulement si deux variables parmis sp1, sp2, sp3 sont identiques.
Par exemple : si sp1=3, sp2= 3, sp3=4 alors la valeur de la variable gain sera égal à 0,01
Le problème est que si sp1=3, sp2= 10, sp3=4 alors gain sera égal à Number.NaN (alors que les deux symboles sont identiques...Mais pas les chiffres.)
Est-ce qu'une âme dévouée pourrait m'aider dans ce casse-tête? Je la remercie par avance.