<駒Aの右隣に、味方の駒B、駒C、駒Dが横一列に並んでいる場合>
連続で「cascade」を行うことによって、1回の移動で複数の味方の駒を同時に動かせます。
なお、「cascade」は、敵の駒を移動させることも可能です。
(「friend?」を「enemy?」に変更するだけです)
(define shift1
( (verify (in-zone? play-zone) )
e
(verify friend?)
add ・・・駒Aの移動先
)
)
※この駒Aを右へ1マス移動し、その位置に味方の駒Bがあれば、そこへ移動します。
(define shift2
( (verify (in-zone? play-zone) )
e
to ・・・駒Aの移動先
(verify friend?)
cascade ・・・駒B
n
add ・・・駒Bの移動先
)
)
※この駒Aを右へ1マス移動し、その位置に味方の駒Bがあれば、そこへ移動します。
そして、そこにあった味方の駒Bを上へ1マス移動します。
→味方の駒Bは、自身の位置から上に1マス移動します。
(define shift3
( (verify (in-zone? play-zone) )
e
to ・・・駒Aの移動先
mark
(verify friend?)
cascade ・・・駒B
n
to ・・・駒Bの移動先
back
e
(verify friend?)
cascade ・・・駒C
n
add ・・・駒Cの移動先
)
)
※この駒Aを右へ1マス移動し、その位置に味方の駒Bがあれば、そこへ移動します。
そして、そこにあった味方の駒Bを上へ1マス移動します。
駒Bの移動元に戻り、右へ1マス移動し、その位置に味方の駒Cがあれば、そこにあった味方の駒Cを上へ1マス移動します。
→味方の駒B・Cは、自身の位置から上に1マス移動します。
(define shift4
( (verify (in-zone? play-zone) )
e
to ・・・駒Aの移動先
mark
(verify friend?)
cascade ・・・駒B
n
to ・・・駒Bの移動先
back
e
mark
(verify friend?)
cascade ・・・駒C
n
to ・・・駒Cの移動先
back
e
mark
(verify friend?)
cascade ・・・駒D
n
add ・・・駒Dの移動先
)
)
※この駒Aを右へ1マス移動し、その位置に味方の駒Bがあれば、そこへ移動します。
そして、そこにあった味方の駒Bを上へ1マス移動します。
駒Bの移動元に戻り、右へ1マス移動し、その位置に味方の駒Cがあれば、そこにあった味方の駒Cを上へ1マス移動します。
駒Cの移動元に戻り、右へ1マス移動し、その位置に味方の駒Dがあれば、そこにあった味方の駒Dを上へ1マス移動します。
→味方の駒B・C・Dは、自身の位置から上に1マス移動します。
最終更新:2020年09月16日 12:26