Un algoblob, des algoblobs
Vous avez utilisé des algoblobs au cours de tous les exercices précédents. De la même façon que pour faire appel aux fonctions pour modifier le fond on pouvait les mettres dans un module à part, on peut aussi mettre tout ce qui définit nos algoblobs dans un module à part. Pour cela, nous allons devoir faire l'inventaire de
- Ce qui caractérise nos algoblobs : les propriétés
- Les actions qu'il peut y avoir avec ou sur les algoblobs
Voici les propriétés communes des algoblobs
- Sa position avec une abscisse et une ordonnée
- Sa vitesse (en abscisse et en ordonnée
- Son rayon
- Sa couleur sous forme d'un triplet r,g,b
Et voici les méthodes courantes
- Avancer
- Rebondir (si l'on est au bord du monde, on rebondit)
- Dessiner
- Téléporter
On peut maintenant faire l'interface de la classe algoblob grâce à ces éléments. Pour chaque propriété, écrivez ce qu'elle représente, et l'intervalle des valeurs possibles. Pour chaque méthode, écrivez les paramétres s'il y en a ainsi que le fonctionnement attendu
Rajoutez les propriétés et les méthodes qui vous conviennent personnellement. Soyez imaginatifs.
Voilà ! Vous avez fait l'interface de votre classe algoblob. Maintenant, vous allez implémenter tout cela dans un module
Regrouper toutes les informations sur votre classe algoblob dans un fichier algoblob.py
Documentez chacune de vos fonctions
On fait ici la synthèse de ce que nous avons vu :
- La création de classe
- La documentation d'un module et d'une classe avec en particulier le tutoriel de Sam & Max sur le sujet
- Nous utilisons les éléments que nous avons vu sur le déplacement à travers l'utilisation des variables, sur les tableaux, les tests, etc...
Pour utiliser les algoblobs, il nous suffira maintenant de faire un from algoblob import Algoblob
et créer un nouvel algoblob reviendra à
bob = Algoblob(10,10,5,5,20)
. À partir de ce moment là, bob sera un algoblob avec ses propriété et ses méthodes....
Projet final de la première partie
Vous devez maintenant avoir trois fichiers :
- Un fichier algoblob.py qui fournit la classe Algoblob, correctement documentée
- Un fichier fonds.py qui fournit des fonctions pour modifier le fond
-
Votre fichier principal, que l'on va appeler chapitre1.py qui importe p5, algoblob et fonds a les principales fonctions (setup et draw). C'est dans ce fichier que l'on lance
run()
Amusez vous à faire une animation interactive de votre choix sur en utilisant vos fonctions et une idée personnelle. Soyez créatifs, inventez. Cherchez dans la documentation ce qui vous manque, discutez en avec vos camarades et avec votre enseignant.
Et voilà ! Vous disposez maintenant d'une fondation solide : votre bibliothèque d'algoblobs. Elle nous servira pour toute la suite, et elle nous permettra d'investiguer tout un tas de problèmes informatiques liés à l'épopée des algoblobs.