①
(
(go last-from)
add
)
※自分と相手が交互に指す場合、(go last-from)は、
1手番前に、相手が最後に動かした駒の移動元(移動前の位置)へ移動します。
1手番目では動かせません。
②
(
(go last-to)
add
)
※自分と相手が交互に指す場合、(go last-to)は、
1手番前に、相手が最後に動かした駒の移動先(移動後の位置)へ移動します。
1手番目では動かせません。
<連続手番の場合>
(turn-order (Black move-1) (Black move-2) (White move-1) (White move-2) )
(piece
(name Try)
(moves
(move-type move-1)
(try1)
(move-type move-2)
(try2)
)
)
(define try1
(
n ・・・nへ移動
add
)
)
(define try2
(
w ・・・try1で進んだ位置からwへ移動(nwへ移動)
add
)
)
③
(define try2
(
(go last-from)
w ・・・try1で進む前の位置からwへ移動
add
)
)
※自分の手番が2回連続する場合、(go last-from)は、
2手番目の移動において、1手番目の移動で、自分が最後に動かした駒の移動元(移動前の位置)へ移動します。
④
(define try2
(
n
n
capture ・・・nに2マス進んだ位置の駒を取る
(go last-to)
w ・・・try1で進んだ位置からwへ移動(nwへ移動)
add
)
)
※自分の手番が2回連続する場合、(go last-to)は、
2手番目の移動において、1手番目の移動で、自分が最後に動かした駒の移動先(移動後の位置)へ移動します。
<連続移動の場合>
(turn-order Black White)
(piece
(name Try)
(attribute never? true)
(moves
(try1)
(try2)
)
)
(define try1
(
(verify never?)
n ・・・nへ移動
(set-attribute never? false)
add-partial
)
)
(define try2
(
(verify (not never?))
w ・・・try1で進んだ位置からwへ移動(nwへ移動)
(set-attribute never? true)
add
)
)
⑤
(define try2
(
(verify (not never?))
(go last-from)
w ・・・try1で進む前の位置からwへ移動
(set-attribute never? true)
add
)
)
※自分の手番で2回連続で指す場合、(go last-from)は、
2回目の移動において、1回目の移動で、自分が最後に動かした駒の移動元(移動前の位置)へ移動します。
⑥
(define try2
(
(verify (not never?))
n
n
capture ・・・nに2マス進んだ位置の駒を取る
(go last-to)
w ・・・try1で進んだ位置からwへ移動(nwへ移動)
(set-attribute never? true)
add
)
)
※自分の手番で2回連続で指す場合、(go last-to)は、
2回目の移動において、1回目の移動で、自分が最後に動かした駒の移動先(移動後の位置)へ移動します。
最終更新:2020年09月15日 11:14