Processing

Code + design + digital humanities

Monstres humanisés - 2

Les cinq notions de la programmation

Un peu de mouvement : les variables

Les variables

En algèbre :

  • x = y * z
  • Lettres qui représentent des nombres


En programmation :

  • Servent à faire varier des éléments (couleurs, positions, ...)
  • Des noms plus sympathiques (si, si!)
  • Désignent des emplacements mémoires

Une variable = un tiroir

  • Il a une étiquette
  • Il contient quelque chose
  • Il contient un certain type d'objet

Une variable = un tiroir

De la même manière:

  • Une variable a une étiquette : c'est son nom
  • Une variable contient quelque chose : c'est sa valeur
  • Une variable contient un certain type d'objet : c'est son type

Les types des variables

Le type d'une variable est le type de valeur qu'elle représente. Voici quelques types de variables :

Les types des variables

Aujourd'hui, nous ne verrons que les nombres entiers :

  • Les entiers s'appellent int (comme "integer")
  • Il en existe d'autres(float, double, long, byte)...


Voici un petit exemple de variable entière :

Votre première variable

Quelque soit son "type", une variable a toujours d'être:

  • Déclarée = je mets une étiquette sur l'un de mes tiroirs
  • Initialisée = je mets une première chose dedans

On déclare une variable en indiquant son type et son nom, comme ceci :


int nomDeMaVariable;
						

On l'initialise en lui donnant une première valeur avec le signe =, comme ceci:


nomDeMaVariable = 2;
						

On déclare toujours notre variable avant setup(), on l'initialise souvent dans setup()

Votre première variable

A quoi ça sert?

... à faire varier une valeur qui vous sert dans votre programme:

  • On utilise le nom de la variable suivi de = et les signes arithmétiques conventionnels : + - / *
  • nombre = 3 + 2;
  • On peut modifier une variable en se référent à elle-même :
  • nombre = nombre + 1;
  • On peut aussi faire des opérations sur des variables entre elles:
  • nombre1 = nombre2 + nombre3;

int monNombre;//je déclare
monNombre = 3; //j'initialise
monNombre = monNombre + 2; // j'ajoute 2 à ma variable
						

Votre première variable

A quoi ça sert?

... par exemple, à faire bouger un élément :


int monNombre;//je déclare ma variable (= "réserve un tiroir avec l'étiquette monNombre")

void setup(){
	monNombre = 3;//j'initialise ma variable (="mets le nombre 3 dans le tiroir monNombre")
	
}

void draw(){
	ellipse(monNombre, 50, 30, 30);
	monNombre = monNombre + 1;
}
					

A vous : faire bouger un cercle de la gauche à la droite de l'écran!

Votre première variable

A quoi ça sert?

... ou encore, à faire changer une couleur :


int monNombre;//je déclare ma variable (= "réserve un tiroir avec l'étiquette monNombre")

void setup(){
	monNombre = 3;//j'initialise ma variable (="mets le nombre 3 dans le tiroir monNombre")
	
}

void draw(){
	fill(monNombre, 200,200);
	ellipse(50, 50, 30, 30);
	monNombre = monNombre + 1;
}
					

Exporter, enregistrer

Exporter

Exporter une application

File --> Export application

Exporter

Enregistrer une image

On utilise l'instruction save("nom du fichier entre guillemets.extension")

Exemple :

							
save("monJoliMonstre.jpg");
							
						

Sauvegarder une image à chaque fois qu'on appuie sur une touche :

							
void keyPressed(){
	save("monJoliMonstre.jpg");
}
							
						

... et une belle image dans le dossier du sketch!

Exporter

Enregistrement incrémental

Pour sauvegarder autant d'images qu'on le veut

							

int compteur; //je déclare une variable qui va compter le nombre d'images

void setup(){
	compteur = 1 ; // j'initialise mon compteur à 1
}

void draw(){
	//votre beau dessin ici ...
}

void keyPressed(){
	save("monJoliMonstre"+compteur+".jpg"); //je sauvegarde
	compteur = compteur + 1; //j'augmente le compteur pour changer le nom du prochain fichier
}
							
						

Continuer l'aventure!

Continuer l'aventure!

La documentation de Processing

  • à l'échelle d'un mot : clic droit sur un mot --> find in reference
  • la référence de tous les mots clés : help --> Reference
  • le "javadoc" avec la documentation technique complète : http://processing.org/reference/javadoc/core/

Continuer l'aventure!

Les livres

J-M Géridan & J-N Lafargue, Processing : le code informatique comme outil de création

Continuer l'aventure!

Les évènements

Processing Cities, évènements organisés par l'association Free Art Bureau

Continuer l'aventure!

Les tutoriels

Douglas Edric Stanley, cours d'introduction à Processing

Continuer l'aventure!

Ressources

Une liste personnelle (mais ouverte à la collaboration) de ressources en ligne pour l'apprentissage de Processing

Bonne aventure!

... et amusez-vous bien!


@robindemourat - robin.demourat@gmail.com



Présentation réalisée avec la bibliothèque reveal.js, fabriquée par Hakim El Hattab