Cours:Idees OOP
Sommaire
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.
Préparation à l'exercice suivant
Processing : Les Objets peut être consulté pour un rappel sur les objets. Nous allons continuer avec les tableaux ou listes.
Les listes (ou tableaux) vous propose des tableaux sur types simples (ou presque).
Pour aller plus loin, les listes d'objets sont abordées avec « Programmation orientée-objet (version sympathique) » en y cherchant la section Liste d'objets.
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
}
Voir aussi
- Playlist Youtube : Daniel Shiffman
- Programmation orientée-objet (version sympathique)
- Processing : Les Objets
- [ttps://knowledge.parcours-performance.com/processing-exploration-formes-class-pshape/ Processing : exploration des formes (class, pshape,…)]
- Trouver le code des exemples du livre complet de Daniel Shiffman
- GitHub : Les exemples du livre complet de Daniel Shiffman