docs(uml): add activity diagram (#9)

This commit is contained in:
M VINCENT PETT 2024-12-02 10:11:21 +01:00 committed by GitHub
parent 450e27ab00
commit 1c9a51cf2d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 245 additions and 0 deletions

View File

@ -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

97
uml/activity-diagram.puml Normal file
View File

@ -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

View File

@ -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

8
uml/sub_bonus.puml Normal file
View File

@ -0,0 +1,8 @@
@startuml
start
if (Le joueur touche un bonus ?) then (Oui)
:Ajouter le bonus à l'inventaire;
else (Non)
endif
stop
@enduml

8
uml/sub_bumper.puml Normal file
View File

@ -0,0 +1,8 @@
@startuml
start
if (Le joueur touche un bumper ?) then (Oui)
:Effectuer un grand saut;
else (Non)
endif
stop
@enduml

15
uml/sub_forme.puml Normal file
View File

@ -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

8
uml/sub_pieces.puml Normal file
View File

@ -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