とりあえず既存の知識の範囲内で最短を求めてみようということで作成。
25.64 (fm2ファイル)
このゲームは、同一局面であっても手順前後があるとCOMの応手や思考時間が変化 することがあります。例えば、平手、プレイヤー先手で開始し、初手から56歩、34歩、 66歩と66歩、34歩、56歩の2通りを試してみるとCOMの応手が変化することが確認でき ます。
というわけで、このTASでは既知の最短手順のうち最も速いものを選び、更に手順 前後を総当たりして最速となるものを選んでいます(56歩に代えて76歩~55角~66角 を先にする手順の方がカーソル移動で2F得しますが、思考時間で3F損します)。手順 自体は以下の動画からパクってます:
なお、カーソルは縦横だけでなく斜めにも動かせます。
他に有名な15手パターンとして以下のものがありますが:
これは手順前後を総当たりしても1628Fが限界のようです。また、検索すると14手パターンも見 つかりますが、これは1800F以上かかってしまうようです。
全手順を総当たりしたわけではないので、当然ながらこのTASが最速である保証は 全くありません。COMの指し手にランダム要素はなさそうなので、13~16手程度であ れば総当たりも一応可能とは思われますが、個人でやるにはちょっと厳しそうなので 保留中。思考ルーチンを解析する手もありますが、なかなか手強くてまだよくわかっ ていません。
なお、このゲームは各手合割について定跡データを持っており、平手の場合は四 間飛車か中飛車を指すようにコーディングされていますが、実際には四間飛車しか指 してきません(実機では稀に中飛車も指してきた気もしますが、記憶違いかも)。フレー ムカウンタが奇数かどうかで戦型を決めているのですが、そのコードが実行される時 点では常にフレームカウンタが奇数になってしまうようです(原因は調査中)。ちなみ に、平手で開始した後 $56 を 0x9B -> 0x74 と書き換えると中飛車を指してくる ことが確認できます。
このゲームは盤上の駒の利きを常に管理していますが、飛び駒(飛、角、香)につ いては、他の駒にぶつかったところから1マス先までしか考慮しないようです。よっ て、飛の下に香を打つ手などが効果的になる場合があります。
電源投入直後のみ可能なパターンがある、という説を見かけましたが、コードを 見る限りハードリセットとソフトリセットは区別していないようです。