移動タイプ<move-type>に優先順位を割り当てます。
- (move-priorities <move-type1> <move-type2>...<move-typeN>)
移動タイプは、<move-type1>、<move-type2>、・・・<move-typeN>の順番に優先されます。
リストの最初の移動タイプは、残りの移動タイプよりも優先されます。
つまり、<move-type1>の移動が存在する場合は、必ずその移動を行う必要があります。
もし、<move-type2>の移動が存在しない場合は、<move-type2>の移動を行う必要があります。
移動タイプが明示的されていない移動は、最も優先順位が低くなります。
引数<move-type>は、駒の<move-type>で定義されたものを指定する必要があります。
<move-priorities>を使用することで、特定の移動タイプの移動のみに制限できます。
※複数の<move-type>を同一優先度にすることができないのが難点です。
①駒の設定:<move-type>を設定
(piece
(moves
(move-type capturing)
(n (if enemy? add))
(move-type non-capturing)
(n (if empty? add))
)
)
②ゲームの設定:(move-priorities XX)を設定
(game
(move-priorities capturing non-capturing)
)
移動タイプ<capturing>の移動が可能な場合、必ずキャプチャを伴う移動を行います。
移動タイプ<capturing>の移動が不能な場合、キャプチャを伴わない移動が行えます。
→「取る一手将棋」(駒を取れる場合は必ず取らなくてはならない)などで利用されます。
最終更新:2020年08月24日 01:29