Modifiez le code de la structure Window pour obtenir la composition avec la classe
Entity.
Remarquez que la composition voulue est de type à plusieurs composants, donc quel type de structure de données faudra-t-il utiliser ?
Si vous avez répondu
un vecteur, vous avez bien retenu votre leçon.
Appelez ce vecteur entities, comme indiqué dans le diagramme de classes.
N'oubliez pas de l'instancier dans le constructeur de la classe
Window.
Évidemment, au début il ne peut qu’être vide.
Ensuite, définissez la fonction membre
add_entity() qui permet d’ajouter une entité au vecteur entities.
Et enfin, complétez la fonction
redraw() pour qu’elle invoque la fonction
draw() de chaque entité contenue dans la fenêtre.
Dans l'état actuel, évidemment il ne se passe encore rien et la fenêtre graphique reste toujours désespérément vide.
Il faut alors que des entités soient créées et ajoutées à la fenêtre.
Ceci doit être fait dans la fonction
create_window() du fichier
lib.rs.
Créez une entité avec les données
kinetics,
color et
side qui sont déjà calculées de façon aléatoire pour vous et ajoutez-la à la fenêtre.
La boucle de 0 à 16 permet d’ajouter directement 16 entités.
Attention ! Évidemment, pour pouvoir déclarer des entités, il faudra que le type
Entity soit accessible, ainsi que la fonction
add_entity() de la structure
Window.
Lancez votre application. Vous devez obtenir 16 jolis carrés colorés dans la fenêtre graphique.