From 1c9a51cf2d33c9bde1ed8aa8a40b1f6382cde4ab Mon Sep 17 00:00:00 2001 From: M VINCENT PETT <42676259+Vextriz@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:11:21 +0100 Subject: [PATCH] docs(uml): add activity diagram (#9) --- uml/activity-diagram-complete.puml | 96 +++++++++++++++++++++++++++++ uml/activity-diagram.puml | 97 ++++++++++++++++++++++++++++++ uml/sub_activation_bonus.puml | 13 ++++ uml/sub_bonus.puml | 8 +++ uml/sub_bumper.puml | 8 +++ uml/sub_forme.puml | 15 +++++ uml/sub_pieces.puml | 8 +++ 7 files changed, 245 insertions(+) create mode 100644 uml/activity-diagram-complete.puml create mode 100644 uml/activity-diagram.puml create mode 100644 uml/sub_activation_bonus.puml create mode 100644 uml/sub_bonus.puml create mode 100644 uml/sub_bumper.puml create mode 100644 uml/sub_forme.puml create mode 100644 uml/sub_pieces.puml diff --git a/uml/activity-diagram-complete.puml b/uml/activity-diagram-complete.puml new file mode 100644 index 0000000..5ca2a8d --- /dev/null +++ b/uml/activity-diagram-complete.puml @@ -0,0 +1,96 @@ +@startuml activity-diagram +start + +:Lancer la partie; + +repeat + if (Le joueur percute un obstacle ?) then (Oui) + :Le joueur meurt; + :Animation de mort; + :Augmenter le nombre d'essais de 1; + :Perdre toutes les pièces et bonus; + else (Non) + ' --- Première Ligne --- + partition "Saut" { + if (L'utilisateur clique sur l'écran ?) then (Oui) + :Le joueur effectue un saut; + endif + } + + partition "Bumper" { + if (Le joueur touche un bumper ?) then (Oui) + group Bumper Logic + :Le joueur effectue un grand saut; + if (Le bumper est actif ?) then (Oui) + :Activer des particules; + :Jouer un son de rebond; + else (Non) + :Aucune action; + endif + end group + endif + } + + partition "Forme" { + if (Le joueur passe un portail ?) then (Oui) + :Changement de forme; + group Forme Details + switch (Forme) + case (Forme fusée) + :Mode fusée; + case (Forme roue) + :Mode roue; + case (Forme sens inversé) + :Mode sens inversé; + case (Forme gravité inversée) + :Mode gravité inversée; + endswitch + end group + endif + } + + partition "Bonus" { + if (Le joueur touche un bonus ?) then (Oui) + group Bonus Logic + :Ajouter le bonus à l'inventaire; + end group + endif + + if (Le joueur clique sur un bonus dans son inventaire ?) then (Oui) + group Activation de Bonus + :Le joueur clique sur un bonus dans l'inventaire; + switch (Type de bonus) + case (Temps ralenti) + :Activer ralentissement du temps; + :Temps ralenti : 3 secondes; + case (Annulation d'obstacle) + :Supprimer tous les obstacles; + :Durée : 3 secondes; + endswitch + end group + endif + } + + partition "Collecte des Pièces" { + if (Le joueur touche une pièce ?) then (Oui) + group Collecte de Pièces + :Ajouter la pièce au niveau; + end group + endif + } + endif + + ' --- Fin du Niveau --- + partition "Fin du Niveau" { + if (Le joueur touche la zone de fin ?) then (Oui) + :Terminer le niveau; + :Animation de fin de niveau; + :Conserver les pièces obtenues; + break + endif + } + +repeat while (Le joueur n'a pas fini le niveau) + +stop +@enduml diff --git a/uml/activity-diagram.puml b/uml/activity-diagram.puml new file mode 100644 index 0000000..6870869 --- /dev/null +++ b/uml/activity-diagram.puml @@ -0,0 +1,97 @@ +@startuml activity-diagram +start + +:Lancer la partie; + +repeat + if (Le joueur percute un obstacle ?) then (Oui) + :Le joueur meurt; + :Animation de mort; + :Augmenter le nombre d'essais de 1; + :Perdre toutes les pièces et bonus; + else (Non) + ' --- Première Ligne --- + partition "Saut" { + 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 + } + + partition "Bumper" { + 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 + } + + partition "Forme" { + if (Le joueur passe un portail ?) then (Oui) + :Changement de forme; + note right + **Portail de Forme** + - Change la mécanique de déplacement. + - Types : Gravité inversée, vitesse accrue. + end note + endif + } + + partition "Bonus" { + if (Le joueur touche un bonus ?) then (Oui) + :Ajouter le bonus à l'inventaire; + note right + **Bonus Collecté** + - Ajouté à l'inventaire. + - Utilisable selon les besoins. + 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 "Collecte des Pièces" { + if (Le joueur touche une pièce ?) then (Oui) + :Ajouter la pièce au niveau; + note right + **Collecte de Pièces** + - Compte les pièces collectées. + - Utile pour débloquer des niveaux ou bonus. + end note + endif + } + endif + + ' --- Fin du Niveau --- + partition "Fin du Niveau" { + if (Le joueur touche la zone de fin ?) then (Oui) + :Terminer le niveau; + :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 + break + endif + } + +repeat while (Le joueur n'a pas fini le niveau) + +stop +@enduml diff --git a/uml/sub_activation_bonus.puml b/uml/sub_activation_bonus.puml new file mode 100644 index 0000000..f5aea51 --- /dev/null +++ b/uml/sub_activation_bonus.puml @@ -0,0 +1,13 @@ +@startuml +start +:Le joueur clique sur un bonus dans l'inventaire; +switch (Type de bonus) + case (Temps ralenti) + :Activer ralentissement du temps; + :Temps ralenti : 3 secondes; + case (Annulation d'obstacle) + :Supprimer tous les obstacles; + :Durée : 3 secondes; +endswitch +stop +@enduml diff --git a/uml/sub_bonus.puml b/uml/sub_bonus.puml new file mode 100644 index 0000000..a552d3a --- /dev/null +++ b/uml/sub_bonus.puml @@ -0,0 +1,8 @@ +@startuml +start +if (Le joueur touche un bonus ?) then (Oui) + :Ajouter le bonus à l'inventaire; +else (Non) +endif +stop +@enduml diff --git a/uml/sub_bumper.puml b/uml/sub_bumper.puml new file mode 100644 index 0000000..b5ffde7 --- /dev/null +++ b/uml/sub_bumper.puml @@ -0,0 +1,8 @@ +@startuml +start +if (Le joueur touche un bumper ?) then (Oui) + :Effectuer un grand saut; +else (Non) +endif +stop +@enduml diff --git a/uml/sub_forme.puml b/uml/sub_forme.puml new file mode 100644 index 0000000..c5d58e9 --- /dev/null +++ b/uml/sub_forme.puml @@ -0,0 +1,15 @@ +@startuml +start +:Changement de forme via portail; +switch (Forme) + case (Forme fusée) + :Mode fusée; + case (Forme roue) + :Mode roue; + case (Forme sens inversé) + :Mode sens inversé; + case (Forme gravité inversée) + :Mode gravité inversée; +endswitch +stop +@enduml diff --git a/uml/sub_pieces.puml b/uml/sub_pieces.puml new file mode 100644 index 0000000..fa70269 --- /dev/null +++ b/uml/sub_pieces.puml @@ -0,0 +1,8 @@ +@startuml +start +if (Le joueur touche une pièce ?) then (Oui) + :Ajouter la pièce au niveau; +else (Non) +endif +stop +@enduml