チュートリアル
工事中
ランダムプレイヤー
sample/random_play.cc 参照
http://gps.tanaka.ecc.u-tokyo.ac.jp/osl/osl/doc/html/random__play_8cc-source.html
目的別手生成
解説/指手生成
詰将棋を呼ぶ手順
サンプルプログラムの紹介/checkstatも参照.
- 必要なファイルをincludeしておく
- namespace利用宣言をしておく
using namespace osl;
using namespace osl::checkmate;
- 局面を用意する
HashEffectState state;
- パスエンコーディングを用意する
const PathEncoding path(state.getTurn());
- なお、真面目にGHI対策をするには指手の履歴からパスエンコーディングを作る必要がある
- 探索用オブジェクトを用意する
DualCheckMateSearcher<HashEffectState,DominanceTable> searcher;
- 詰将棋を呼ぶ
- 先手が後手を詰める手順があるかどうかを調べる場合、は以下のように呼ぶ
Move checkMateMove;
const bool win = searcher.
isWinningStateSlow(limit, state, path, checkMateMove);
- 真偽値で詰むかどうかの結果が返る
- limit は探索ノード数
- 詰む場合はcheckMateMove? に指手が代入される
探索
評価関数
その他