Tout ce qui concerne le logiciel E-anim
 
AccueilPortailFAQS'enregistrerConnexion

Partagez | 
 

 simplification d'un script

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
akaspy
Accro
Accro
avatar

Nombre de messages : 127
Date d'inscription : 06/03/2017

Message 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 ?
Revenir en haut Aller en bas
gerard35
Modérateur global
Modérateur global
avatar

Nombre de messages : 6494
Localisation : Ille et Vilaine
Date d'inscription : 21/12/2006

Message 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";;
}
Revenir en haut Aller en bas
http://geranim.free.fr/
akaspy
Accro
Accro
avatar

Nombre de messages : 127
Date d'inscription : 06/03/2017

Message 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
Revenir en haut Aller en bas
akaspy
Accro
Accro
avatar

Nombre de messages : 127
Date d'inscription : 06/03/2017

Message Sujet: Re: simplification d'un script   Lun 08 Mai 2017, 23:29

Plus précisément, j'essaie d'ajouter une fonction OU à ma fonction SI.
Revenir en haut Aller en bas
gerard35
Modérateur global
Modérateur global
avatar

Nombre de messages : 6494
Localisation : Ille et Vilaine
Date d'inscription : 21/12/2006

Message Sujet: Re: simplification d'un script   Lun 08 Mai 2017, 23:42

pour rajouter ou dans un if c'est avec ceci ||

if (( a==2 )||(a==1)){
_root.aff_text="presque";;
}
Revenir en haut Aller en bas
http://geranim.free.fr/
akaspy
Accro
Accro
avatar

Nombre de messages : 127
Date d'inscription : 06/03/2017

Message 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
Revenir en haut Aller en bas
gg51
Accro
Accro
avatar

Nombre de messages : 607
Localisation : champagne
Date d'inscription : 24/01/2015

Message 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;

Revenir en haut Aller en bas
http://gerard51.eklablog.com/
gerard35
Modérateur global
Modérateur global
avatar

Nombre de messages : 6494
Localisation : Ille et Vilaine
Date d'inscription : 21/12/2006

Message 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 Very Happy (avec 100 commentaires différents dans tab  Laughing )
Revenir en haut Aller en bas
http://geranim.free.fr/
gg51
Accro
Accro
avatar

Nombre de messages : 607
Localisation : champagne
Date d'inscription : 24/01/2015

Message Sujet: Re: simplification d'un script   Mar 09 Mai 2017, 21:06

Salut Gérard
Oui aussi il y'a pas mal de possibilités suivant le résultat désiré
Mais pour le jeu c est à réfléchir bien vu
Revenir en haut Aller en bas
http://gerard51.eklablog.com/
akaspy
Accro
Accro
avatar

Nombre de messages : 127
Date d'inscription : 06/03/2017

Message 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 ?
Revenir en haut Aller en bas
gg51
Accro
Accro
avatar

Nombre de messages : 607
Localisation : champagne
Date d'inscription : 24/01/2015

Message 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
study
Revenir en haut Aller en bas
http://gerard51.eklablog.com/
akaspy
Accro
Accro
avatar

Nombre de messages : 127
Date d'inscription : 06/03/2017

Message Sujet: Re: simplification d'un script   Mer 10 Mai 2017, 16:54

C'est simple et efficace ! Merci beaucoup, je vais aller 4 fois plus vite avec cette solution.
Revenir en haut Aller en bas
akaspy
Accro
Accro
avatar

Nombre de messages : 127
Date d'inscription : 06/03/2017

Message Sujet: Re: simplification d'un script   Mer 10 Mai 2017, 18:55

J'ai fait mon script en 10 minutes. J'ai gagné un temps fou. Merci Encore !
Revenir en haut Aller en bas
gerard35
Modérateur global
Modérateur global
avatar

Nombre de messages : 6494
Localisation : Ille et Vilaine
Date d'inscription : 21/12/2006

Message Sujet: Re: simplification d'un script   Mer 10 Mai 2017, 20:08

parfait, je mets en résolu
Revenir en haut Aller en bas
http://geranim.free.fr/
Contenu sponsorisé




Message Sujet: Re: simplification d'un script   

Revenir en haut Aller en bas
 
simplification d'un script
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Appeler un script/ une page PHP?
» [Script RMVX] Fenêtre additionnelle
» After Effects script
» [demande] conversion de script
» Script AllForum v3.0.0a

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-anim :: Utiliser E-anim :: Comment faire :: Sujets résolus ou sans suite-
Sauter vers: