Loading s5obj_rust_labo_etape_5...

enib_small.png S5-OBJ_Rust Etape_5 — Comportements polymorphes

Le laboratoire précédent a permis de construire une architecture flexible combinant des formes, des animations et des interactions variées.

Dans cette dernière étape, les entités deviennent capables d'interagir entre elles.
Vous ajouterez notamment deux nouveaux types d'animation :

La mise en œuvre de ces comportements nécessitera l'utilisation de l'interior mutability (RefCell), un mécanisme propre à Rust permettant de vérifier les règles d'emprunt à l'exécution plutôt qu'à la compilation.
{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

À l'issue de cette étape, les entités ne se contentent plus d'évoluer indépendamment : elles peuvent désormais interagir avec les autres objets de la scène, par exemple en se repoussant ou en entrant en collision.

Ce laboratoire introduit le mécanisme d'interior mutability (RefCell), qui permet de gérer des accès complexes aux données lorsque les vérifications du borrow-checker ne peuvent plus être réalisées statiquement.

Vous disposez maintenant d'une architecture extensible permettant de combiner différentes formes, animations et interactions entre les entités.