xxxxxxxxxx
116
var compteur
// phrase de base à caviarder
var baseString = "stop the planet so i can get off";
function setup() {
createCanvas(400, 400);
background(0, 0, 100)
// choisir la taille de la typo
textSize(16);
fill(255,255,255)
// séparer la phrases en mots, cela crée un tableau de mots ["force", "est", "restée", "à", "la"]
}
function draw() {
compteur ++;
//background(137, 0, 255)
// couleur de typo
fill (255, 0, 239);
// écrire du code dans la fonction draw qui va s'executer 25 fois pas seconde
// random(minimum, maximum) permet de générer un nombre aléatoire entre un minimum et un maximum
// text("stop the planet so i can get off", random(600), random(600));
// structure conditionelle
//si le compteur est égal à 1
if(compteur == 1){
// alors on affiche texte
fill (0, 150, 150)
translate (0, 10)
quad (200, 205, 225, 210, 250, 205, 210, 250)
quad (180, 230, 190, 280, 140, 240, 180, 180)
ellipse (200, 299, 60, 20,)
translate (0, 80)
quad (210, 200, 250 , 212, 250, 201, 200, 180)
translate ( 45, 0)
quad (230, 146, 200, 180, 180, 180 )
}
// sinon, si le compteur n'est pas égal à 1
else{
background(137, 0, );
// on réinitialise le compteur
compteur = 0;
let step = frameCount % 100;
background(0, 0, 100);
fill (100, 150, 255)
ellipse(200, 250, 150, 150)
var splitString = split(baseString, ' ');
// nombre de mots censurés, ici le nombre de mots censuré est aléatoire, il est possible de le choisir fixe
var nbCensure = int(random(splitString.length));
// 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(6));
// 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 == 1 || censure == 4 || censure == 5 || censure == 4){
// remplacer le mot par des carrés noir
var stringCensure = splitString.splice(i, 1, "▃");
}
}
var separator = ' ';
// réassembler le tableau en phrases. Mots bout à bout séparés par des espaces
var message = join(splitString, separator);
// afficher le texte
text(message, 100, 100, 400, 400);
// Equivalent to translate(x, y);
frameRate(15)
applyMatrix(1, 0, 0, 1, 40 , 50 + step);
translate (-37,-30)
fill(250,150, 0)
rect(111, 215, 13, 40)
ellipse (118,215,20,20)
noStroke()
rect (118,252,5,14)
rect(118,265,13,5)
translate (0, -3)
quad(112,252,116,257,110,285,105,285)
rect(100,240,14,5)
rect( 123, 240, 14,5)
stroke(2)
ellipse ( 115,217, 1, 2)
ellipse(120,217,1,2)
line (115,223,120,223)
}
}
// 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() +'_censure-visible'+ '.jpg');
}
}