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.

Précédent | 7/27 | Suivant

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é :

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(700,200);
 // declarer la police auparavant créée avec l'outil de processing (tools/create font...)
 mapolice = loadFont("DIN-Light-48.vlw");
 textFont(mapolice,24);
 textAlign(CENTER);
 smooth();
 fill(255);
}

void draw(){
 background(0);
 // choisir un sujet
 float alea=random(0,sujets.length);
 int lesujet=int(alea);

 // choisir un verbe
 alea=random(0,verbes.length);
 int leverbe=int(alea);

 // choisir un verbe
 alea=random(0,complements.length);
 int lecomplement=int(alea);
 
 // assembler le tout et afficher
 String lasentence=sujets[lesujet] + " " + verbes[leverbe] + " " + complements[lecomplement];
 text(lasentence, width/2, 100);
 
 // une pause pour lire la phrase
 delay(3000);
}

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.

  • Exemple : Un générateur de phrases par Henry , 22 avril 2013

    Merci pour cet aide qui je pense, me sera bien utile un jour ou l’autre !

    Au plaisir de vous relire rapidement !

    Henry de l’échelle de toit