Loading s5obj_rust_labo_etape_5...

enib_small.png S5-OBJ_Rust Etape_5 — Sujet d'approfondissement

Ceci est le dernier labo d'une série qui a eu pour but de vous faire mettre en pratique en Rust les concepts de la programmation orientée objet vus en cours.
L'objectif final, atteint lors du labo 4, était de peupler une fenêtre graphique avec des entités (rectangles, cercles, carrés...) aux propriétés et comportements variés.
Ce cinquième labo permettra d'obtenir un code plus avancé et en conséquence de s'entraîner plus.

Jusqu’à présent, les entités bougent dans la fenêtre et répondent au clic de la souris mais elles ne se détectent pas et ne s’influencent pas.
C’est comme si elles étaient toutes seules dans la fenêtre.
Dans ce labo, nous voulons faire en sorte que les entités soient sensibles à la présence des autres en ajoutant deux nouveaux animators : Collide, qui permet la collision entre les entités, et Repulse, qui permet aux entités de se repusser avant de se toucher, comme les mêmes pôles de deux aimants.
{1 #interior_mutability } Interior-mutability
{2 #modifs } Modifications nécessaires
{3 #repulsion } Un nouveau type d'animation : la repulsion
{4 #collision } Un nouveau type d'animation : la collision

Solution : Step5_interactions.zip

Voilà, vous avez ajouté deux nouveaux types d’animation pour les entités et surtout vous les avez rendues sensibles les unes aux autres.