三手の剣舞：三手だけ覚える相手に、次の一手をどう見せる？

もう一度斬れば威力2。でも、相手は一歩引く構え。いま斬り続けるか、コンボを捨てて間合いを詰めるか。

『三手の剣舞』は9マスの稽古場で遊ぶ、小さなターン制の剣の勝負です。操作は前進・斬り・後退と静止。相手が覚えるのは直前の三手だけです。

前進が多ければ置き斬り。斬りが多ければ引き突き。後退が多ければ追い足。最多が同じなら、新しい手の方へ反応します。その構えを先に公開してから、こちらが次の一手を決めます。入力を見て後出しする相手ではありません。

二つ目の稽古は、すでに隣り合った場面から始まります。前の二手が斬りなので、次も斬れば威力2。でも相手の引き突きで距離が2になると、こちらの剣は届きません。ここで一歩前進すれば、相手の突きが当たらない距離1へ入れます。次の息継ぎに斬り返す余地も残ります。

ただし、相手が毎回同じ呼吸をくれるわけではありません。追い足は攻撃しない代わりに、その次へ息継ぎを付けません。三つ目の稽古では、端へ下がるか、自分から詰めるか、空振りを見せて読みを変えるかが違う結果につながります。

慎重な勝ち方は残しました。自動探索では三場面すべてに無傷の勝利列があり、Bには前進と斬りを交互に続ける単純な安全策もあります。一方、同じ交互入力は他の二場面では通りません。正当な安全策を消すより、場面を読んで選ぶ意味があるかを見ています。

純粋モデルでは、公開された構えを固定し、移動を同時に解決し、結果の距離で両者の攻撃を同時適用します。両方の体力がゼロなら相打ち。最後に今回の手を履歴へ加えます。実装が未来の入力を読まないよう、相手の方策に渡す情報も分けました。

比較版は集計する窓だけを三手から一手へ変えます。一度斬っただけで即座に引く版と、前進二回の記憶が残る版。同じBで共通入力を再生すると、次の構えが分かれます。両版に勝利列はありますが、どちらが面白いかは人に遊んでもらうまで分かりません。

映像は実Pyxel画面の自動操作で、無音です。テストや探索で確認したのは規則と到達性。初見で相手の三手を読めるか、二度目を斬らない判断が納得できるかは、これから確かめたいところです。
