State — dice_board Turn FSM
stateDiagram-v2
[*] --> RollDice: turnStart
RollDice --> AwaitCellChoice: diceRolled
AwaitCellChoice --> PlaceToken: cellEmpty
AwaitCellChoice --> CaptureToken: cellOccupiedByOpponent
PlaceToken --> CheckCenter: tokenPlaced
CaptureToken --> CheckCenter: tokenCaptured
CheckCenter --> RollDice: isCenterCell
CheckCenter --> CheckWin: notCenter
CheckWin --> GameOver: threeInRow
CheckWin --> NextTurn: noWin
GameOver --> [*]
NextTurn --> [*]
Исходник: state-game.mmd