cs_fanfouer
Messages postés209Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention27 janvier 2008
-
27 janv. 2006 à 22:32
cs_fanfouer
Messages postés209Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention27 janvier 2008
-
27 janv. 2006 à 23:50
Bonsoir,
Je continue a developper mon sujet et je me rend conte que mon code prend beaucoup de lignes pour ce qu'il permet de faire...
C'est pourquoi je laisse deux ou trois fonctions en dessous pour que si quelqu'un a le temps, me dise si il y a pas une maniere plus simple d'ecrire ces dernieres. Bonne lecture!
/*FONCTION "gestionCorePoste">input : Poste : Le nom du poste surlequel la manoeuvre doit etre effectuée ; core : Niveau du core a verfier
=>fonction : A chaque execution de la fonction, on creer les liste des circuit rataché a tel ou tel core du poste et on affecte l'affichage du poste en conséquence (si aucun circuit sur un core, on desactive celui-ci)
=>output : none
*/
function gestionCorePoste (Poste){
PosteCircuit_Array_core2 = _root.DefineLinks(Poste, 2, undefined);//array avec les circuits du core2
PosteCircuit_Array_core3 = _root.DefineLinks(Poste, 3, undefined);//array avec les circuits du core3
//On verifie qu'il reste au moin 1 circuit sur chaque core sinon on les efface
Celle la, il y a un petit probleme, lorsque la derniere condition est vraie (chargeCircuit > limiteChargeCircuit), et ben il marrete la boucle dès le premier passage ! je ne comprend pas pourquoi ca fait ca a vous de toruvé si vous y arrivez
/*FONCTION "Aleas_reportCharge",>input : Circuit_Array : L'array du circuit
=>fonction : Cette fonction applique un report de charge : lorsqu'un circuit déclenche, la charge qu'il fesait trnasiter est équitablement répartie entre tous les circuits restant raccordé au poste amont
Ce n'est que deux fonction de mon code, les deux qui me paraissait les moin bine optimisée en fait donc si vous pouviez y faire quelque chose, ce serait simpas... merci!!
A voir également:
Quelques conseils pour simplifier1 ou deux fonctions
SuperDevy
Messages postés842Date d'inscriptiondimanche 24 novembre 2002StatutMembreDernière intervention 2 juillet 2007 27 janv. 2006 à 23:16
Quelques petits conseils :
<ol><li>Remplace les eval("_root.carte."+Poste) par _root.carte[Poste], c'est sémantiquement meilleur, et plus facile à comprendre et à interpréter pour FlashPlayer.</li><li>Utilise des noms de variables plus courts : proscrit les _.
Tu peux par exemple remplacer PosteCircuit_Array_core3 par pcCore3.</li><li>Lit ça : Pourquoi ne pas utiliser _root ?</li><li>Dans tex expressions logiques, remplace and par && et or par ||</li></ol>Voila, c'est déjà pas mal... Bon courage :)
cs_fanfouer
Messages postés209Date d'inscriptionmercredi 26 mai 2004StatutMembreDernière intervention27 janvier 2008 27 janv. 2006 à 23:50
Merci pour tous ces conseils et je trouve pas mal le truc du _root.carte[poste], ca raccourci pas mal.
Pour ce qui est de "_root", deja je ne connaissait pas le site et celui la je le garde en favoris mais je ne peut ma passer de ca car tous le code est dans une fonction, et est par conséquent executé dans divers points du programme, a des niveaux differants avec des clip parents differants. Je ne peut donc pas mettre de chemin relatifs dans un code qui n'est pas executé dans le meme clip tout le temps.
En ce qui concerne le nommage de mes variables, il est un peu long c'est vrai et je pensait donner a mes variables une identité facile a reconaitre si je donnait un nom assé detaillé. Par exemple, le suffixe _Array me sert a identifier les Array dans la code.
Ainsi, le Circuit_Array récurent tout au long du scritp veu tout de suite dire quelque chose pour moi.