# Diagramme des classes ```mermaid classDiagram class Boid { -pos -velocity -acceleration -colors -coefficient +update(Container c, double delta) +setCoefficient(double) #separationRule(Container c) #cohesionRule(Container c) #alignementRule(Container c) #gradientRule(Container c) } class BoidsContainer { -listBoids +getBoidsNear(double radius, pos) list +addBoid(Boid boid) +update(double delta) +setSetting(double value) } class Polygon { +setFill() (...) } Polygon <|-- Boid class Collection { +add() (...) } Collection <|-- BoidsContainer class BoidSim { -scenes +switchScene() } class Application { +init() (...) } class MainMenu { -setting +start() +settings() } class SettingsMenu { -volume -theme +show() } class InGameMenu { Collection c +show() } class Simulation { Collection c +show() } class PauseMenu { Collection c +show() } class Scene { +setRoot() (...) } Scene <|-- SettingsMenu Scene <|-- MainMenu Scene <|-- PauseMenu Scene <|-- InGameMenu Scene <|-- Simulation Boid *-- BoidsContainer Application <|-- BoidSim Scene *-- BoidSim BoidsContainer *-- BoidSim ```