Cours:Idees OOP : Différence entre versions
m (→Introduction aux objets avec Processing) |
m (→Introduction aux objets avec Processing) |
||
Ligne 1 : | Ligne 1 : | ||
==Introduction aux objets avec Processing== | ==Introduction aux objets avec Processing== | ||
+ | [http://www.ecole-art-aix.fr/processing-14-0-Programmation Programmation orientée-objet (version sympathique)] peut être lue en guise de cours. | ||
===Exercice 1=== | ===Exercice 1=== | ||
Refaire les exemples développés dans la [https://www.youtube.com/watch?v=YcbcfkLzgvs&list=PLRqwX-V7Uu6bb7z2IJaTlzwzIg_5yvL4i Playlist Youtube de Daniel Shiffman]. On commencera par la classe Bubble [https://www.youtube.com/watch?v=XwfOVFelLoo&list=PLRqwX-V7Uu6bb7z2IJaTlzwzIg_5yvL4i&index=3 développée dans le troisième cours]. | Refaire les exemples développés dans la [https://www.youtube.com/watch?v=YcbcfkLzgvs&list=PLRqwX-V7Uu6bb7z2IJaTlzwzIg_5yvL4i Playlist Youtube de Daniel Shiffman]. On commencera par la classe Bubble [https://www.youtube.com/watch?v=XwfOVFelLoo&list=PLRqwX-V7Uu6bb7z2IJaTlzwzIg_5yvL4i&index=3 développée dans le troisième cours]. | ||
− | |||
− | |||
===Exercice 2=== | ===Exercice 2=== |
Version du 12 février 2019 à 17:19
Introduction aux objets avec Processing
Programmation orientée-objet (version sympathique) peut être lue en guise de cours.
Exercice 1
Refaire les exemples développés dans la Playlist Youtube de Daniel Shiffman. On commencera par la classe Bubble développée dans le troisième cours.
Exercice 2
1°) Transformer le code ci-dessous en une classe Processing pour utilisation.
2°) Réaliser un affichage de 4 digits destiné à afficher l'heure et les minutes d'un réveil.
3°) Modifier la classe pour pouvoir changer la taille de chaque digit
4°) Réaliser une classe Heure 2x2 digits séparés par deux points
5°) Utiliser cette classe pour afficher l'heure courante. On utilisera
Le code d'une horloge à aiguilles est diponible sur Internet.
Indications : on vous donne le code permettant un affichage d'un seul digit
int[] val={63,6,91,79,102,109,125,7,127,111,119,124,57,94,121,113};
void segment() {
beginShape();
vertex(0,10);
vertex(10,0);
vertex(50,0);
vertex(60,10);
vertex(50,20);
vertex(10,20);
endShape(CLOSE);
}
void Affiche7segs(int val,int rouge,int vert, int bleu) {
pushMatrix(); // on désire laisser le repère inchangé
noStroke();
translate(40,0);
if ((val & 1) == 1) fill(rouge,vert,bleu); else fill(200);
segment(); // segment a
translate(-10,70);
if ((val & 64) == 64) fill(rouge,vert,bleu); else fill(200);
segment(); // segment g
translate(-10,70);
if ((val & 8) == 8) fill(rouge,vert,bleu); else fill(200);
segment(); // segment d
translate(15,-53);
rotate(radians(100));
if ((val & 16) == 16) fill(rouge,vert,bleu); else fill(200);
segment(); // segment e
translate(-70,0);
if ((val & 32) == 32) fill(rouge,vert,bleu); else fill(200);
segment(); // segtment f
translate(-12,-68);
if ((val & 2) == 2) fill(rouge,vert,bleu); else fill(200);
segment(); // segment b
translate(72,0);
if ((val & 4) == 4) fill(rouge,vert,bleu); else fill(200);
segment(); // segment c
popMatrix(); // on récupère le repère initial
}