前回C#3.0な機能を何とか使ってみたいという思いでプログラム書いてましたが、結局実行速度の問題(ラムダ式が、というよりビットボードからインデックスを求めて合法手配列にアクセスするという手法が無駄だったwビットボード使うならビット演算だけで合法手求めろって話ですね。)なため貼りつけた部分のコードは全部消しました。 というわけで現在リバーシプログラムの実装状況を挙げると、 コンソールへの盤面印字 着手可能点の生成 盤面更新処理 です。ここまで来ると次はいよいよ探索部分ですね。 全合法手はこんな感じで生成出来ます。ビットボードは64bitのC#だとulong型で、各ビットに石があれば1のビットが立っていて、白黒それぞれ別に持っています。orをとるとどっちかの石の置かれてるビットボードになり、そのnotをとると空白のマスを表します。以下のソースの詳細はコメント書いたので省略。以下を全方向に対して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く