Boost.MSMでゲームの大まかな遷移をぼちぼち実装している。なかなか面白い。
何が面白いのか語れるほど習熟しているわけではないので、どう言えば的確なのかもわからないで書くのだけれど、まあMSMに状態遷移の分岐処理を任すことができるので、その状態でイベントが発生した時どうするかだけをファンクタで書けばよいので、楽そうな感じである。
なのでその状態に応じたイベントのアクションをファンクタで書いていくというのが主な作業になってくる。ファンクタはすでに状態が切り分けられた状態で呼ばれるのでおのずと分岐処理がほとんどないすっきりしたものになる。このあたりが面白いなあと思うところ。何が面白いんだか。。