add-partialによる連続移動

<連続移動1>
 「move-1」→「move-2」のみできる場合
 1手目でnへ移動し、2手目でそこからwへ移動します。
 (最終的にnwへ移動します)

(turn-order Black White)

(piece
 (name Try)
 (attribute never? true)
 (moves
  (try1)
  (try2)
 )
)

(define try1
 (
  (verify never?)
  n
  (set-attribute never? false)
  add-partial
 )
)

(define try2
 (
  (verify (not never?))
  w
  (set-attribute never? true)
  add
 )
)

(turn-order (Black move-1) (White move-1) )

(piece
 (name Try)
 (moves
  (move-type move-1)
  (try1)
  (move-type move-2)
  (try2)
 )
)

(define try1
 (
  n
  (add-partial move-2)
 )
)

(define try2
 (
  w
  add
 )
)


<連続移動2>
 「move-1」→「move-2」に加えて、いきなり「move-2」もできる場合
 1手目でnへ移動し、2手目でそこからwへ移動します。
 (最終的にnwへ移動します)
 1手目でいきなりwへ移動して終了もできます。

(turn-order Black White)

(piece
 (name Try)
 (attribute never? true)
 (moves
  (try1)
  (try2)
 )
)

(define try1
 (
  (verify never?)
  n
  (set-attribute never? false)
  add-partial
 )
)

(define try2
 (
  w
  (set-attribute never? true)
  add
 )
)

(turn-order Black White)

(piece
 (name Try)
 (moves
  (move-type move-1)
  (try1)
  (move-type move-2)
  (try2)
 )
)

(define try1
 (
  n
  (add-partial move-2)
 )
)

(define try2
 (
  w
  add
 )
)

※「turn-order」による連続手番とは異なり、必ずしも2手分の移動を行わなくても大丈夫なように設定できます。
(いきなり2手目を行い終了することが可能です)


<連続移動3>
 1手目で終了させることもできるようにする場合
 1手目でnへ移動し、2手目でそこからwへ移動します。
 (最終的にnwへ移動します)
 1手目でnへ移動して終了もできます。

(piece
 (name Try)
 (attribute never? true)
 (moves
  (try1)
  (try2)
  (try3) ・・・追加
 )
)

(define try3 ・・・追加
 (
  (verify never?)
  n
  add
 )
)
※try1と区別するために「attribute」変更を除きます。
(「never?」は「true」のまま維持されます)

(piece
 (name Try)
 (moves
  (move-type move-1)
  (try1)
  (try3) ・・・追加
  (move-type move-2)
  (try2)
 )
)

(define try3 ・・・追加
 (
  n
  (set-attribute never? true)
  add
 )
)
※try1と区別するために「attribute」変更を加えます。
(try1と区別できないと、try3は無視され、try1のみ有効となります)

※「turn-order」による連続手番で実装する場合、「パス」を可能にする「pass turn」を「option」で「true」に設定する必要があります。
→その場合、2手目だけでなく、1手目でも「パス」が可能になってしまいます。
(1手目も2手目も両方「パス」することも可能です)

※「turn-order」による連続手番で実装する場合、「パス」を可能にする「その場にadd」を2手目の移動に追加しておく方法もあります。
その場にadd


最終更新:2020年09月15日 11:17