xxxxxxxxxx
119
// phrase de base à caviarder
var baseString = "ça fait deux ans que j’nique le game t’ose me demander comment je m’appelle je vous demande une chose laissez ju-ju-jul tranquille car tout va mal dans sa tête, jamais à court d’idées, ouais jamais à sec, je vois la lune se coucher quand je cabre sur la A7, je sais que les jaloux m’écoutent en cachette et au bled ça m’écoute même en cassette.";
var compteur = 0;
var voice = new p5.Speech();
function preload(){
typo = loadFont("FontsFree-Net-pricedown-bl.ttf")
}
function setup() {
createCanvas(600, 600);
frameRate(2)
background(255,50,150);
textFont(typo)
textSize(25);
fill(255,159,0)
stroke(0,0,0)
ellipse(300,600,600,600)
textAlign(CENTER)
fill(228,232,243);
rect(200,500,90,90);
rect(200,440,30,100);
rect(220,420,30,100);
rect(240,480,30,70);
rect(260,480,30,70);
rect(160,530,70,30);
rect(300,500,90,90);
rect(360,440,30,100);
rect(340,420,30,100);
rect(320,480,30,70);
rect(300,480,30,70);
rect(360,530,70,30);
noStroke();
fill(228,232,243);
ellipse(300,370,150,100);
//triangle(x1,y1,x2,y2,x3,y3)
//x1,y1=bas gauche x2,y2=milieu haut x3,y3=bas droite
triangle(240,400,300,440,360,400);
stroke(0,0,0);
fill(155,170,203);
ellipse(265,365,40,20);
ellipse(335,365,40,20);
line(290,410,310,410);
line(310,410,315,405);
// séparer la phrases en mots, cela crée un tableau de mots ["force", "est", "restée", "à", "la"]
var splitString = split(baseString, ' ');
// faire une boucle sur tous les mots
for(var i= 0; i<splitString.length; i++){
// choisir un nombre aléatoire entre 0 et 4
var censure = int(random(5));
// si ce nombre aléatoire est 0 ou 2 ou 3 ou 4 alors supprimer le mot en cours, soit 4 chances sur 5 que le mot soit censuré
if(censure == 0 || censure == 2 || censure == 3 || censure == 4){
var stringCensure = splitString.splice(i, 1);
}
}
// réassembler le tableau en phrases. Mots bout à bout séparés par des espaces
var message = join(splitString, ' ');
fill(255,250,200)
stroke(0,0,0)
// afficher le texte
text(message, 100, 100, 400, 200);
// la variable message contient le texte généré
voice.setLang("fr-FR");
voice.setPitch(0.2);
voice.setRate(1.7);
voice.speak(message);
}
function draw() {
compteur++;
if(compteur == 1){
fill(228,232,243);
rect(200,500,90,90);
rect(200,440,30,100);
rect(220,420,30,100);
rect(240,480,30,70);
rect(260,480,30,70);
rect(160,530,70,30);
rect(300,500,90,90);
rect(360,440,30,100);
rect(340,420,30,100);
rect(320,480,30,70);
rect(300,480,30,70);
rect(360,530,70,30);
noStroke();
fill(228,232,243);
ellipse(300,370,150,100);
//triangle(x1,y1,x2,y2,x3,y3)
//x1,y1=bas gauche x2,y2=milieu haut x3,y3=bas droite
triangle(240,400,300,440,360,400);
stroke(0,0,0);
fill(155,170,203);
ellipse(265,365,40,20);
ellipse(335,365,40,20);
line(290,410,310,410);
line(310,410,315,405);
}
else{
fill(255,159,0);
ellipse(300,600,600,600);
compteur = 0;
}
}