解説
対局の長さと引き分け
盤の大きさが対局の上限を決めない理由、引き分けの方針の選び方、シミュレーションの回数の上限を説明します。
盤の大きさだけでは上限が決まらない
置くだけのゲームでは使えるマス数が手数の上限です。取りで空きが戻り、行消去で行が消え、移動する駒は同じ局面へ戻れます。longestPossibleGameがnullなら、盤による上限を保証できません。すべての対局が永久に続くという意味ではありません。
import {createGame,longestPossibleGame,noBoundReason} from "@johnmorrisdotca/narabe";
for (const variant of ["freestyle","go","checkers"] as const) {
const game = createGame({variant});
console.log(variant,longestPossibleGame(game.settings),noBoundReason(game.settings));
}freestyle 225 null
go null captures
checkers null pieces-move方針を明示する
DrawLimitは、対応するルールでnone、half、threeQuartersを選びます。計算を重複させず、movesBeforeDrawを使います。Hexは接続のルールで引き分けにならないため、同じ方針を全ゲームに適用しません。ドラフツには各CheckersRulesの駒数、終盤、反復のルールもあります。
ホストの試行回数を決める
seededRandomで再現できても、必ず終了するとは限りません。シミュレーション側で有限の処理回数を決め、途中なら途中と報告します。longestPossibleGameとnoBoundReasonは、観測した長さとは別に保証を説明します。READMEの説明も残っています。
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。