IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 1 & ActionScript 2 Discussion :

Quizz > classer les valeurs du + au -


Sujet :

ActionScript 1 & ActionScript 2

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Quizz > classer les valeurs du + au -
    Bonjour à tous,

    C'est sympa de vous intéresser aux problèmes des apprentis flasheurs comme moi

    Je suis en train de développer une sorte de quizz.
    On veut aider le lecteur à souhaite qu'on l'aide à choisir entre 4 produits.
    Il répond à 8 questions qui ont chacune 3 réponses possibles.
    S'il clique sur la réponse "pas cher" par exemple :
    on (release) {pacher = Number(pacher)+10;

    A la fin, je me retrouve donc avec 4 valeurs : pacher, moyen, cher, horprix
    J'arrive à afficher la valeur qui obtient le plus grand nombre de points :
    if ((cher > pacher ) && (cher > moyen) && (cher > horprix))
    {loadMovie("cher.swf", capsule1);} ... etc ... etc ... etc

    Mais comment afficher les 4 produits du mieux noté au moins bien noté ?
    La seule solution que je vois implique quelques centaines de lignes de code ...
    Je voudrais juste que Flash distingue le 1er, le 2e, le 3e, le 4e ...
    Et que je n'aie plus qu'à les appeler à la Frame 40, 45, 50, 55, dans des cibles juxtaposées :

    | 1er | 2e | 3e | 4e |

    Quelqu'un aurait-il une solution ?
    Un gros merci !!!

    Nico

  2. #2
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour,
    est-ce que ce petit exemple peut t'aider ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var my_array:Array = new Array(12, 35, 4, 1, 62);
    trace(my_array);
    my_array.sort(Array.DESCENDING);
    trace(my_array);
    crdt,
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci Dom pour cette réponse
    Je suis pas certain de pouvoir exploiter ce petit bout de code c'est dommage.

    Je vais essayer d'être plus précis dans l'exposé de mon problème. Je me retrouve, à la fin du Quizz, avec 4 valeurs différentes, selon les réponses données par l'utilisateur.

    Par exemple
    gratos=7
    pacher=24
    cher=36
    supercher=10

    Ce qui indique que la préférence de l'utilisateur va à la valeur "cher".
    Je voudrais pouvoir présenter 4 textes, correspondant aux quatre valeurs.
    Dans 4 colonnes : vainqueur, 2e, troisième, dernier.
    Dans ce cas précis, on aurait donc :

    Colonne vainqueur : cher
    Colonne 2e : pacher
    Colonne 3e : supercher
    Colonne dernier : gratos

    Comment demander à Flash de charger le texte de la plus grande valeur dans la colonne vainqueur, puis le texte de la deuxième plus grande valeur dans la colonne 2e, et ainsi de suite ?

    (je précise que je compte charger des swf externes par loadMovie)
    Voilou ! C'est plus clair ?
    Quelqu'un aurait une idée ?
    Merci encore pour ton aide Dom

    Nico

  4. #4
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    il te faut faire une petite structure de données du genre :
    article
    valeur -> un entier
    texte -> une chaine de caractères
    URL -> l'url du swf à charger

    tu auras N articles (article1, article2 ... articleN)

    tu fais le trie ordonnée sur articleXXX.valeur, tu affiches articleXXX.texte et tu charges articleXXX.URL

    je t'indique la stratégie générale il faut un peu de temps pour développer ça...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Et j'applique par dessus ta précédente idée ?
    var my_array:Array = new Array etc ...
    ?

  6. #6
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    non pas directement on ne peut pas trier un tableau de tableaux sur un indice particulier du tableau (du moins à ma connaissance)
    Il faut écrire une petite fonction qui renvoi par exemple article.texte si on lui donne article.valeur. Il faut construire un Array avec tous les articles.valeur, le trier et le reparcourir en utilisant ta fonction et ça te donnera article.valeur triées ...
    il y a 15/20 lignes à tout casser mais j'ai vraiment pas le temps de coder ça aujourd'hui...
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Coucou Dom

    Pardon de n'avoir pas répondu plus tôt ...
    J'étais en We puis en reportage ...
    Merci encore pour tes indications.
    Maintenant je sais que c'est possible.

    Je t'avoue que développer ce code dépasse largement mes compétences.
    Je suis décidé: je vais utiliser mes crédits formation pour apprendre les bases de l'Action Script ... Le bricolage, je commence à en voir les limites.

    Merci encore pour ton aide précieuse.

    Nico

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 11
    Points : 7
    Points
    7
    Par défaut trouvé !
    Grâce à ton aide, qui m'a mis sur la bonne piste
    C'est vraiment trop fort.
    Un grand merci

    nokia = 20;
    palm = 10;
    iphone = 5;
    sony = 15;

    var tablo:Array = new Array(nokia, palm, iphone, sony);
    trace(tablo);
    tablo.sort(Array.NUMERIC|Array.DESCENDING);
    trace(tablo);
    var premier = tablo[0]
    trace(premier);
    var deuxieme = tablo[1]
    trace(deuxieme);

    if (premier == nokia){loadMovie("nokia.swf", capsule1);}
    if (premier == palm){loadMovie("palm.swf", capsule1);}
    if (premier == iphone){loadMovie("iphone.swf", capsule1);}
    if (premier == sony){loadMovie("sony.swf", capsule1);}

    if (deuxieme == nokia){loadMovie("nokia.swf", capsule2);}
    if (deuxieme == palm){loadMovie("palm.swf", capsule2);}
    if (deuxieme == iphone){loadMovie("iphone.swf", capsule2);}
    if (deuxieme == sony){loadMovie("sony.swf", capsule2);}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD17] calcul age classer et compter les valeurs identique
    Par hadaf dans le forum WinDev
    Réponses: 8
    Dernier message: 05/02/2013, 18h58
  2. [XL-2003] classer les series d'un histogramme empilé par comparaison de leur derniere valeur
    Par mimilll dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/05/2009, 12h03
  3. Classer les valeurs d'une variable
    Par foxrol dans le forum SAS Base
    Réponses: 7
    Dernier message: 29/12/2008, 10h50
  4. Problème pour classer les valeurs d'un champ
    Par AjJi dans le forum Access
    Réponses: 11
    Dernier message: 06/04/2006, 09h19
  5. Réponses: 2
    Dernier message: 29/10/2003, 23h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo