| simplification d'un script | |
|
Auteur | Message |
---|
akaspy Accro
Nombre de messages : 127 Date d'inscription : 06/03/2017
| Sujet: simplification d'un script Lun 08 Mai 2017, 22:43 | |
| Bonsoir,
J'ai ce script:
if ( a==3 ){ _root.aff_text="gagné"; }else{ if ( a==2 ){ _root.aff_text="presque !"; }else{ if ( a==1 ){ _root.aff_text="presque !"; }else{ _root.aff_text="perdu"; } ; } ; }
Quand a=1 ou a=2, le résultat qui s'affiche est le même. Est-il possible de simplifier le script et de supprimer un if, svp ? |
|
| |
gerard35 Modérateur global
Nombre de messages : 6577 Localisation : Ille et Vilaine Date d'inscription : 21/12/2006
| Sujet: Re: simplification d'un script Lun 08 Mai 2017, 23:16 | |
| Bonsoir ils sont imbriqués avec les else,faut séparer - Code:
-
if ( a==3 ){ _root.aff_text="bravo";; }
if ( a==2 ){ _root.aff_text="presque";; }
if ( a==1){ _root.aff_text="perdu";; } |
|
| |
akaspy Accro
Nombre de messages : 127 Date d'inscription : 06/03/2017
| Sujet: Re: simplification d'un script Lun 08 Mai 2017, 23:27 | |
| Le résultat si a=1 ou si a=2 est le même, et c'est volontaire.
Disons que j'essaie d'écrire ceci: si a=1 OU BIEN si a=2 alors le texte à afficher est "presque"
plutôt que ceci: si a=1 alors le texte à afficher est "presque" si a=2 alors le texte à afficher est "presque"
histoire de ne taper qu'une ligne au lieu de deux (ou plutôt 300 au lieu de 400, en réalité).
Dernière édition par akaspy le Lun 08 Mai 2017, 23:38, édité 1 fois |
|
| |
akaspy Accro
Nombre de messages : 127 Date d'inscription : 06/03/2017
| |
| |
gerard35 Modérateur global
Nombre de messages : 6577 Localisation : Ille et Vilaine Date d'inscription : 21/12/2006
| |
| |
akaspy Accro
Nombre de messages : 127 Date d'inscription : 06/03/2017
| Sujet: Re: simplification d'un script Mar 09 Mai 2017, 00:01 | |
| Ah merci beaucoup. Je l'ai vu en cherchant sur le net, en plus... mais dans un exemple très différent, et je n'ai pas su le réutiliser... C'est une épine dans le pied en moins et un mal de tête qui devrait passer lol |
|
| |
gg51 Accro
Nombre de messages : 655 Localisation : champagne Date d'inscription : 24/01/2015
| Sujet: Re: simplification d'un script Mar 09 Mai 2017, 09:35 | |
| Bonjour akaspy Tu as aussi cette solution - Code:
-
switch (a){ case 1: result="presque1"; break; case 2: result="presque2"; break; case 3: result="presque3"; break; case 4: result="presque4"; break; case 5: result="presque5"; break; } _root.aff_text=result; |
|
| |
gerard35 Modérateur global
Nombre de messages : 6577 Localisation : Ille et Vilaine Date d'inscription : 21/12/2006
| Sujet: Re: simplification d'un script Mar 09 Mai 2017, 17:47 | |
| Salut GG on pourrait faire çà aussi, non ? - Code:
-
tab=["non","presque","pas tout à fait","encore un effort","c'est bon","un tout petit trop","c'est trop","beaucoup trop"]; for ( i = 0; i < 100; i++ ) { if ( a==i )break; } _root.aff_text=tab[i];
çà ferait un petit jeu, trouver le bon chiffre (avec 100 commentaires différents dans tab ) |
|
| |
gg51 Accro
Nombre de messages : 655 Localisation : champagne Date d'inscription : 24/01/2015
| |
| |
akaspy Accro
Nombre de messages : 127 Date d'inscription : 06/03/2017
| Sujet: Re: simplification d'un script Mar 09 Mai 2017, 22:28 | |
| Merci à vous deux ! J'ai 50 "a" (donc a1, a2, a3, ..., a50). En réalité, il n'y a pas de "a" mais j'avais simplifié pour l'exemple. Chacun des "a" est en fait une somme, par exemple b1+c1=a1 (dans mon script, mes b et c ressemblent plutôt à a01x02 ou a04x07 où les 2 premiers chiffres correspondent à une ligne et les 2 derniers chiffres correspondent à une colonne). Chaque "a" peut avoir 6 valeurs: 0, 1, 2, 3, 4, ou 6. La valeur de "a" détermine un texte correspondant. a=6 a pour texte associé "gagné". a=2 et a=4 ont pour texte associé "presque". a=0, a=1 et a=3 ont pour texte associé "perdu" (mais j'ai simplifié mon script et toute valeur différente de 2, 4 ou 6 donnera comme résulta "perdu"). Les 100 textes associés vont dans un tableau de 10 par 10 (chaque "a" remplit 2 cases du tableau). Le plus simple est de vous montrer mon script pour le premier cas (qu'on a appelé a1 dans cette discussion et qui est la somme (a01x02)+(a02x01) dans mon script): - Code:
-
if ( a01x02+a02x01==6 ){ _root.aff01x02_text="gagné";_root.aff02x01_text="gagné"; }else{ if (( a01x02+a02x01==4 )||(a01x02+a02x01==2)){ _root.aff01x02_text="presque";_root.aff02x01_text="presque"; }else{ _root.aff01x02_text="perdu";_root.aff02x01_text="perdu"; } ; }
Ma question est donc la suivante: pour avoir à taper le moins de script possible, quelle est de vos 2 méthodes la plus judicieuse ? |
|
| |
gg51 Accro
Nombre de messages : 655 Localisation : champagne Date d'inscription : 24/01/2015
| Sujet: Re: simplification d'un script Mer 10 Mai 2017, 09:11 | |
| - gg51 a écrit:
- Bonjour akaspy
Il n'y a pas lieu de compliquer à mon avis Bon maintenant si a01x02, a02x01 sont des variables alors tu peux faire - Code:
-
result = a01x02+a02x01; text_affiche="Perdu"; if ( result==2 || result==4 ) text_affiche="presque"; if ( result==6 ) text_affiche="gagné";
_root.aff01x02_text=text_affiche; _root.aff01x01_text=text_affiche;
result prendra la valeur de la case sélectionnée
|
|
| |
akaspy Accro
Nombre de messages : 127 Date d'inscription : 06/03/2017
| |
| |
akaspy Accro
Nombre de messages : 127 Date d'inscription : 06/03/2017
| |
| |
gerard35 Modérateur global
Nombre de messages : 6577 Localisation : Ille et Vilaine Date d'inscription : 21/12/2006
| |
| |
Contenu sponsorisé
| |
| |
|