xxxxxxxxxx
69
// ce sketch permet de générer des textes grâce aux chaines de markov
// il utilise la bibliothèque rita.js
// il faut dans un premier temps ajouter le fichier de la bibliothèque rita-full.min.js
// il faut également ajouter deux textes au format .txt
// définir les variables globales
// lines va enregistrer le texte
var lines;
// markov va permettre de charger la bibliothèque
var markov;
// data1 et data2 vont charger les textes
var data1;
var data2;
// charger les textes
function preload() {
data1 = loadStrings('feu.txt');
data2 = loadStrings('voyage.txt');
}
function setup() {
createCanvas(500, 500);
textSize(16);
textAlign(LEFT);
// phrase de départ
lines = ["cliquer pour générer un texte"];
// créer un model de markov à n=4
markov = new RiMarkov(4);
// charger les textes dans le modèle
markov.loadText(data1.join(' '));
markov.loadText(data2.join(' '));
//appeler la fonction qui affiche le texte
drawText();
}
// fonction qui affiche le texte
function drawText() {
background(250);
//afficher le texte
text(lines.join(' '), 50, 50, 400, 400);
}
// au clic de la souris, le texte se génère
function mouseClicked() {
// choisir le nombre de phrases à générer, ici 10, il combine les phrases
//lines = markov.generateSentences(10);
// il est aussi possible de combiner les mots avec la ligne ci-dessous
lines = markov.generateTokens(100);
// afficher le texte
drawText();
}
// fonction qui s'exécute quand une touche est relâché
function keyReleased() {
// appuyer sur "s" permet d'enregistrer l'image
if (key == 's' || key == 'S') {
saveCanvas(year()+month()+day()+'-'+hour()+ minute() + second() +'_markov'+ '.jpg');
}
}