Generateur de texte...

gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010 - 23 nov. 2008 à 15:02
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

13 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 nov. 2008 à 15:19
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'
0
gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010
23 nov. 2008 à 15:56
Ce code ca passe sous MX 2004???
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 nov. 2008 à 16:28
c'est une écriture fonctionnelle depuis Flash 5 ...
Tente, tu verras bien.

Peg'
0
gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010
23 nov. 2008 à 16:48
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"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 nov. 2008 à 19:17
Oui, c'est normal ...
Quel est le problème ?

Peg'
0
gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010
23 nov. 2008 à 21:15
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
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 nov. 2008 à 21:47
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'
0
gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010
24 nov. 2008 à 00:02
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]);
     }
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
24 nov. 2008 à 00:24
- 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'
0
gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010
24 nov. 2008 à 02:37
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é...?
0
gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010
25 nov. 2008 à 14:26
Quelle modifications faire pour obtenir le résultat souhaité...?
0
gully07 Messages postés 25 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 15 août 2010
28 nov. 2008 à 12:24
up du message...
0
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
//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...
0
Rejoignez-nous