静止探索用の手生成とか実装
KFEnd流の2段階静止探索にする予定ですけど、とりあえず1段目だけ実装。
やり方はGPS将棋を真似て、全幅の手生成ルーチンをテンプレート関数で作って、実際に手のリストに追加する/しないをテンプレート引数を使って判断する*1やり方にしました。これだと、手生成のほとんどの部分は共用出来るので、コーディングは非常に楽でした。
まぁ、真似たと言ってもテンプレートを使う所だけで、実際にはoslのソース読んだりとかしてなくて、ほとんど我流でやりましたが。
それから、局面クラスの初期化で持ち駒のある局面の初期化に対応してなかったのを修正。というか、手抜きして作ってなかったコードを追加。
ちゃんとUSIに対応しようとするとこの辺は必要なんで、今のうちに(=局面クラスの実装を覚えてるうちに)やっときました。
んで、明日は静止探索用の手生成をれさぴょん使用アプリとつき合わせてチェックするのを作る予定。れさぴょんの手クラスは成りフラグとか取る駒の情報とかあるから、多分そんなに手間はかからないはず。
*1:取る手と成る手以外はリストに追加しなければ、それで静止探索用のルーチンになる