Tuto processing
This commit is contained in:
parent
946bd53e01
commit
5cd9cc3a09
1 changed files with 133 additions and 0 deletions
133
exo/processing-objets.md
Normal file
133
exo/processing-objets.md
Normal file
|
@ -0,0 +1,133 @@
|
|||
---
|
||||
title: Les objets en Processing
|
||||
permalink: ex/processing-objets/
|
||||
profile: false
|
||||
---
|
||||
|
||||
## Pré-Requis
|
||||
|
||||
Pour commencer, je recommande la lecture de l'article [Objects](https://processing.org/tutorials/objects/) par Daniel Shiffman sur le site web de Processing.
|
||||
|
||||
## Présentation de l'exercice
|
||||
|
||||
Une fois l'article lu, je vous propose l'exercice suivant : la création d'un outil de gestion de série.
|
||||
Notre objectif est dans un premier temps d'afficher l'ensemble des épisodes d'une série, avec ses saisons.
|
||||
Dans un second temps, on va vouloir calculer le temps que ça va nous prendre de visionner la série.
|
||||
|
||||
On va décomposer la chose en 3 objets : Épisode, Saison et Série.
|
||||
Une série contient des saisons, chaque saison contient des épisodes.
|
||||
|
||||
## L'objet Épisode
|
||||
|
||||
Je vous conseille de commencer par implémenter l'objet Épisode. Voilà un exemple pour tester votre implémentation :
|
||||
|
||||
```java
|
||||
void setup() {
|
||||
Episode e = new Episode("Une étude en rose",88);
|
||||
println(e); // équivalent à println(e.toString());
|
||||
println(e.getDuration());
|
||||
}
|
||||
```
|
||||
|
||||
Ce qui doit afficher dans la console :
|
||||
|
||||
```raw
|
||||
Une étude en rose (88 min)
|
||||
88
|
||||
```
|
||||
|
||||
## L'objet Saison
|
||||
|
||||
Maintenant que votre objet épisode fonctionne comme vous voulez, attaquons nous à l'objet Saison :
|
||||
|
||||
```java
|
||||
void setup() {
|
||||
Saison s;
|
||||
s = new Saison(1);
|
||||
s.ajouterEpisode(new Episode("Une étude en rose",88));
|
||||
s.ajouterEpisode(new Episode("Le banquier aveugle", 88));
|
||||
s.ajouterEpisode(new Episode("Le grand jeu", 89));
|
||||
|
||||
println(s);
|
||||
println(s.getDuration());
|
||||
}
|
||||
```
|
||||
|
||||
Ce qui devrait afficher :
|
||||
|
||||
```raw
|
||||
--- Saison 1 ---
|
||||
Une étude en rose (88 min)
|
||||
Le banquier aveugle (88 min)
|
||||
Le grand jeu (89 min)
|
||||
|
||||
265
|
||||
```
|
||||
|
||||
## L'objet Série
|
||||
|
||||
Voilà comment nous voulons utiliser l'objet Série :
|
||||
|
||||
```java
|
||||
Serie sherlock = new Serie("Sherlock");
|
||||
Saison s;
|
||||
|
||||
s = new Saison(1);
|
||||
s.ajouterEpisode(new Episode("Une étude en rose",88));
|
||||
s.ajouterEpisode(new Episode("Le banquier aveugle", 88));
|
||||
s.ajouterEpisode(new Episode("Le grand jeu", 89));
|
||||
sherlock.ajouterSaison(s);
|
||||
|
||||
s = new Saison(2);
|
||||
s.ajouterEpisode(new Episode("Un scandale à Buckingham", 89));
|
||||
s.ajouterEpisode(new Episode("Les chiens de Baskerville", 88));
|
||||
s.ajouterEpisode(new Episode("La chute du Reichenbach", 88));
|
||||
sherlock.ajouterSaison(s);
|
||||
|
||||
s = new Saison(3);
|
||||
s.ajouterEpisode(new Episode("Le cercueil vide", 86));
|
||||
s.ajouterEpisode(new Episode("Le signe des trois", 86));
|
||||
s.ajouterEpisode(new Episode("Son dernier coup d'éclat", 89));
|
||||
sherlock.ajouterSaison(s);
|
||||
|
||||
s = new Saison(4);
|
||||
s.ajouterEpisode(new Episode("Les six Thatchers", 88));
|
||||
s.ajouterEpisode(new Episode("Le détective affabulant", 89));
|
||||
s.ajouterEpisode(new Episode("Le dernier problème", 89));
|
||||
sherlock.ajouterSaison(s);
|
||||
|
||||
println(sherlock);
|
||||
println(sherlock.getDuration());
|
||||
```
|
||||
|
||||
Ce qui devrait afficher :
|
||||
|
||||
```raw
|
||||
=== Série Sherlock ===
|
||||
--- Saison 1 ---
|
||||
Une étude en rose (88 min)
|
||||
Le banquier aveugle (88 min)
|
||||
Le grand jeu (89 min)
|
||||
|
||||
--- Saison 2 ---
|
||||
Un scandale à Buckingham (89 min)
|
||||
Les chiens de Baskerville (88 min)
|
||||
La chute du Reichenbach (88 min)
|
||||
|
||||
--- Saison 3 ---
|
||||
Le cercueil vide (86 min)
|
||||
Le signe des trois (86 min)
|
||||
Son dernier coup d'éclat (89 min)
|
||||
|
||||
--- Saison 4 ---
|
||||
Les six Thatchers (88 min)
|
||||
Le détective affabulant (89 min)
|
||||
Le dernier problème (89 min)
|
||||
|
||||
|
||||
1057
|
||||
```
|
||||
|
||||
## Pour aller plus loin
|
||||
|
||||
Vous pouvez ajouter des fonctionnalités supplémentaires à l'objet Série, comme la possibilité d'avoir la durée en heure / minutes plutôt qu'en minute seulement, ou encore de renvoyer la saison la plus longue ou la plus courte, le nombre d'épisode ou le nombre d'épisodes moyen par saisons, etc.
|
Loading…
Reference in a new issue