MarkdownエディタでUMLが作成できると発見し、「流れが必要なものの記録に使える」と実感。
さっそく、練習がてらにやってみました。
ガイアプロジェクト:ガイアフェイズの整理
かなり難解なボードゲーム『ガイアプロジェクト』。その、1フェイズであるガイアフェイズを言ったん見直してみました。
一般的な流れ
まず、こんな感じでTyporaで書いてみました。
```mermaid
graph TB
A((収入フェイズ))
A-->B((ガイアフェイズ<br>開始))
B-->C{ガイアフォームが<br>次元横断星に}
C--ない-->D
C--ある-->c1{ガイアフォームの下に<br>ガイア惑星タイルが}
c1--ある-->D
c1--ない-->c2[ガイア惑星タイル下に<br>ガイア惑星タイルを置く]
c2-->D{ガイアエリアに<br>トークンがある}
D--ない-->E>ガイアフェイズ終了]
D--ある-->d1[全てのトークンを<br>エリア1に置く]
d1-->E
```
これがレンダリングされると、こうなります。
(参考: https://mermaid-js.github.io/docs/mermaid-live-editor-beta)
地球人の処理
```mermaid
graph TB
A((収入フェイズ))
A-->B((ガイアフェイズ<br>開始))
B-->C{ガイアフォームが<br>次元横断星に}
C--ない-->D
C--ある-->c1{ガイアフォームの下に<br>ガイア惑星タイルが}
c1--ある-->D
c1--ない-->c2[ガイア惑星タイル下に<br>ガイア惑星タイルを置く]
c2-->D{ガイアエリアに<br>トークンがある}
D--ある-->F{惑星首府を}
F--建てていない-->f1[全てのトークンを<br>エリア2に置く]
F--建てている-->f2[フリーアクションと<br>同じレートで<br>資源変換]
f2-->f1
f1-->E
D--ない-->E>ガイアフェイズ終了]
```
イタル人の処理
graph TB
A((収入フェイズ))
A-->B((ガイアフェイズ<br>開始))
B-->C{ガイアフォームが<br>次元横断星に}
C--ない-->D
C--ある-->c1{ガイアフォームの下に<br>ガイア惑星タイルが}
c1--ある-->D
c1--ない-->c2[ガイア惑星タイル下に<br>ガイア惑星タイルを置く]
c2-->D{ガイアエリアに<br>トークンがある}
D--ある-->F{惑星首府を}
F--建てていない-->f1[全てのトークンを<br>エリア1に置く]
F--建てている-->f2[4トークンを破棄して<br>技術タイル取得]
f2-->f1
f1-->E
D--ない-->E>ガイアフェイズ終了]
バル・タック人の処理
graph TB
A((収入フェイズ))
A-->B((ガイアフェイズ<br>開始))
B-->C{ガイアフォームが<br>次元横断星に}
C--ない-->D
C--ある-->c1{ガイアフォームの下に<br>ガイア惑星タイルが}
c1--ある-->D
c1--ない-->c2[ガイア惑星タイル下に<br>ガイア惑星タイルを置く]
c2-->D{ガイアエリアに<br>トークンがある}
D--ない-->E{ガイアフォームが<br>ガイアエリアに}
D--ある-->d1[全てのトークンを<br>エリア1に置く]
d1-->E
E--ある-->e1[ガイアフォームを<br>勢力ボードに置く]
e1-->F
E--ない-->F>ガイアフェイズ終了]
```
書いてみて思ったこと:
- 単に「トークンを移動して入植準備をする」だけなのに、相当なフローがあったという気づき
- Officeソフトよりも格段に楽にソートされた状態でチャートが書けるのは素晴らしい
- 可読性(特に各セクションの定義)に難あり
の3点が実感です。
これを元に、書き方を改善しながらチャート/シーケンス図が翔となると楽しみが止まりません。