┌─┐ ┌─┐ │c│ │s│ └┬┘ └┬┘ │ démarrerAttaque(paysAttaquant : String, │ │ paysDéfenseur : String) │ │───────────────────────────────────────────────>│ │ │ ╔══════════════════╤═════════════════════════════════╗ ║ loop pas terminé │ │ ║ ╟──────────────────┘ │ ║ ║ │ annoncerAttaque(nbRégimentsAttaquant : int) │ ║ ║ │───────────────────────────────────────────────>│ ║ ║ │ │ │ ║ ║ │ annoncerDéfense(nbRégimentsDéfenseur : int) │ ║ ║ │───────────────────────────────────────────────>│ ║ ║ │ │ │ ║ ║ │ résultats des deux lancers, régiments perdus │ ║ ║ │ de l'attaquant et du défenseur le cas échéant │ ║ ║ │< ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ ║ ║ │ │ │ ║ ╚══════════════════╧═════════════════════════════════╝ │ terminerAttaque() │ │───────────────────────────────────────────────>│ │ │ │ │