@startuml Geometry Dash - Diagramme d'activités

start

:Lancer la partie;

repeat
    if (Le joueur percute un obstacle ?) then (Oui)
        :Le joueur meurt;
        :Augmenter le nombre d'essais de 1;
        :Perdre toutes les pièces et bonus;
    else (Non)
        partition "Actions du joueur" {
            if (L'utilisateur clique sur l'écran ?) then (Oui)
                :Le joueur effectue un saut;
                note right
                **Saut**
                - Le joueur saute pour éviter les obstacles.
                end note
            endif

            if (Le joueur touche un bumper ?) then (Oui)
                :Le joueur effectue un grand saut;
                note right
                **Bumper**
                - Permet un saut plus haut.
                - Utilisé pour atteindre des zones élevées.
                - Activation automatique au contact.
                end note
            endif

            if (Le joueur clique sur un bonus dans son inventaire ?) then (Oui)
                :Activer un bonus;
                note right
                **Activation de Bonus**
                - Déclenche l'effet du bonus sélectionné.
                - Exemple : Invincibilité, Double saut.
                end note
            endif
        }

        partition "Gestion de la pause" {
            if (Le joueur clique sur le bouton de pause ?) then (Oui)
                :Arriver sur le menu de pause;
                note right
                **Menu de pause**
                - Affiche les options : Reprendre, Quitter, Mode Checkpoint, Volume.
                end note
            endif
        }

        partition "Progression" {
            if (Le joueur touche la zone de fin ?) then (Oui)
                :Terminer le niveau;
                :Afficher une animation de fin de niveau;
                :Conserver les pièces obtenues;
                note right
                **Fin du Niveau**
                - Succès enregistré.
                - Les pièces collectées sont sauvegardées.
                end note
            endif
        }
    endif
repeat while (Le joueur n'a pas fini le niveau)

stop

@enduml
