Generateur de texte...

Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
- - Dernière réponse : gully07
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
- 4 déc. 2008 à 03:55
Bonjour,

Je suis en train de monté un générateur de texte sous flash, pour être plus précis un générateur de "règle de jeu"...
Pour cela j'utilise des texte statique (pour voir le nom de chaque champ)
                          des textes dynamique (pour permettre l'affichage des textes généré)

Pour la partie code ; un champs a plusieurs choix qui se fait appeler ====>
                                temps=["30 min ","1 heure ","15 minutes "];
                                temp.text=genere([temps]);
ou le texte dynamique "temp" appelle un des textes qui compose le champ "temps"

Comme cela tous la bien et voila ma question :
Je génère aussi des champs "materiel1" et "materiel2" (histoire d'avoir de quoi jouer ;) )
Et pour finir un champ "règle" est aussi généré...
Je voudrais que dans mon texte lié au règle je puisse replacer le "matériel" généré...
Du genre :
"pour commencer distribuer XXX a chaque joueurs..." ou XXX est le champ "materiel" généré...
en gros comment incorporer un texte généré dans un autre texte généré...???

Merci de vos reponse
A bon entendeur
Afficher la suite 

13 réponses

Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
0
Merci
Bonjour, pour cela il suffit de faire une concaténation de textes comme suit :

var toto:String = "vert à pois jaune"
var texte:String = "mon chien est "+toto+" et il se porte bien"
trace (texte); //renvoie : "mon chien est vert à pois jaune et il se porte bien"

Peg'
Commenter la réponse de pegase31
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
Ce code ca passe sous MX 2004???
Commenter la réponse de gully07
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
0
Merci
c'est une écriture fonctionnelle depuis Flash 5 ...
Tente, tu verras bien.

Peg'
Commenter la réponse de pegase31
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
Arg quand je place le code et que je lance le générateur je me retrouve a la place d'avoir :

"mon chien est vert à pois jaune et il se porte bien"
j'ai :
"mon chien est vert à pois jaune,rouge a poil bleu, noir a poil gris et il se porte bien"
car
var toto:String = "vert à pois jaune","rouge a poil bleu", "noir a poil gris"
Commenter la réponse de gully07
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
0
Merci
Oui, c'est normal ...
Quel est le problème ?

Peg'
Commenter la réponse de pegase31
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
je voudrais que un des "descriptif" soit choisis aléatoirement... (donc généré a partir de la base de donnée en code)
Puis que la regle du jeu le soit aussi...
Mais que le descriptif "généré" soit incorporé dans la regle "généré"...

pour avoir du genre ;
var descriptif:String = "verte", "rouge", "bleu"
var regle:String = "la carte est "+descriptif+" ."

Mais avec :
trace (regle);
j'ai :
la carte est verte, rouge, bleu.
Au lieu de :
la carte est verte //ou// la carte est rouge //ou// la carte est bleu
Commenter la réponse de gully07
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
0
Merci
il te manque apparemment des bases en programmation.
Un "String" est une chaine de caractères. Pour choisir aléatoirement il faut mettre chaque élément à choisir dans un tableau (Array) et faire un random sur ce tableau pour en sortir la partie que tu cherches. Ton premier exemple était sur la bonne voie.

Peg'
Commenter la réponse de pegase31
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
Ben voila le code que j'utilise... :

----------------------------------------------------------------------------------
     noms=["le raleur ","sans le sous ","les  font la paire ","vigilance"];
     nombres=["1 joueur ","2 joueurs ","4 joueurs "];
     ages=["+6ans ","+18ans ","7-77 ans ","- 16 ans"];
     temps=["30 min ","1 heure ","15 minutes "];
     materiels1 = ["1 dé ","1 pions par personne ","1 jeu de carte "];
     materiels2=["1 dé ","1 figurine par personne ","1 sablier "];
     buts=["etre le dernier en vie ","ne plus avoir d'objet "+materiels2+" ","arriver le premier a la fin "];
     regles=["avancer sur un 6 ",", jeter les "+materiels1+"","faire les defis "];
   
   
     genere=function(tab){
     i=0;
     letter=new String();
     while(tab[i] ne undefined){
     cell=tab[i];
     l=cell.length;
     r=random(l);
     letter+=cell[r];
     i++;
     }
     return(letter);
     }
     generer.onRelease=function(){
     nom.text=genere([noms]);
     nombre.text=genere([nombres]);
     age.text=genere([ages]);
     temp.text=genere([temps]);
     materiel1.text=genere([materiels1]);
     materiel2.text=genere([materiels2]);
     but.text=genere([buts]);
     regle.text=genere([regles]);
     }
Commenter la réponse de gully07
Messages postés
6161
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
6
0
Merci
- pourquoi un "while" alors que tu ne veux qu'un résultat ?
- pourquoi des [] dans l'appel de la fonction genere? Tu crées un tableau d'un seul champ contenant un tableau avec cette méthode.

Peg'
Commenter la réponse de pegase31
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
La partie centrale du code je l'ai chiner sur internet...
Et comme je suis débutant je ne la comprend pas trop... même si elle suit une certaine logique...

Quelle modifications faire pour obtenir le résultat souhaité...?
Commenter la réponse de gully07
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
Quelle modifications faire pour obtenir le résultat souhaité...?
Commenter la réponse de gully07
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
up du message...
Commenter la réponse de gully07
Messages postés
25
Date d'inscription
mercredi 9 juin 2010
Statut
Membre
Dernière intervention
15 août 2010
0
Merci
//Au secours... j'ai besoin d'amour......
//Non en fait j'ai besoin de savoir comment me sortir de ce code, ca fait une semaine que je bidouille et j'arrive pas a //avoir ce que je veux...

//Il semble qu'il y a un bout de code pour avoir une chose de ce genre... :
nomdutextedynamique = "phrase bateau pour tourner" + texte generer+ "fois en rond"
//Et que ce bout de phrase soit aussi generer parmis tant d'autre...

Merci d'avance
a bon entendeur...
Commenter la réponse de gully07