Texte : Un générateur de phrases

Exercice simple qui permet de se confronter à quelques nouvelles variables, les strings (chaines de caractères) et array (les variables dites "tableaux"), ainsi qu’afficher un texte.

Le code ci après commence par créer trois variables tableaux (des arrays, donc) et stocke à l’intérieur une série de mots ou morceaux de phrases.

Ensuite, à chaque exécution du draw, on choisit aléatoirement un des éléments de chaque array, on assemble le tout pour enfin l’afficher.

Voici le code annoté :

// les arrays
String[] sujets = {
"Le pape", "Ma mere", "Ton père","Ton meilleur ami","Le type à côté de toi","Ton voisin", "Le monde", "La mer" };
String[] verbes = {
"est","","n'est plus","devient", "semble","a cessé d'être","sera demain","trouvera" };
String[] complements = {
"un salaud","un chic type","hostile","ton meilleur ami","ton seul choix","ta seule famille","la mort","une feuille","un logiciel" };
PFont mapolice;

void setup(){
 size(800,600);
// charger une police
 mapolice = createFont("impact", 32);
 textFont(mapolice);
 textAlign(CENTER, CENTER);
}

void draw(){
 background(255);
 fill(0);
 text(choix(sujets)+" "+choix(verbes)+" "+choix(complements),width/2,height/2);
 noLoop();
}

// une fonction pour choisir un des éléments
String choix(String[] c){
 int nb=c.length;
 int lequel=int(random(nb));
 return c[lequel];
}

void keyPressed(){
loop(); // relancer en appuyant sur n'importe quelle touche
}

N’oubliez pas de générer la police qui accompagne le script.

Etendre ce script

Ce genre de script peut comme d’habitude être agrémenté par quelques lignes : ajouter une image, remplacer le random par une valeur récupérée (la fameuse horloge à texte), etc.

Forum

  • Exemple : Un générateur de phrases par RomainV , 11 juin 2010

    Pour ceux qui voudraient avoir un exemple d’implémentation du même principe, mais à beaucoup plus grande échelle*, j’ai développé un générateur de phrases sur le principe décrit ci-dessus. Il est écrit en javascript, tout se déroule sur le poste client, donc pour les curieux qui voudraient en consulter la source : elle est totalement accessible via votre navigateur.

    * pour donner une idée : il est capable de générer environ (10 puissance 75) phrases, uniques et grammaticalement correctes.