盤の対称性を定義します。
対称性により、異なるプレイヤーが同じ方向で指定しても、異なる方向に移動するように設定できます。
定義された対称性は一方向であり、ゲーム内の全ての駒<piece>と目標<goal>に適用されます。
- (symmetry <player> (<directionA1> <directionB1>)...(<directionAN> <directionBN>))
<player>にとって、方向<directionA1>が<directionB1>となり、・・・方向<directionAN>が<directionBN>となります。
①
(board
(symmetry Black (n s))
)
※プレイヤー<黒>では、上が下になります。
(相手は、駒がnへ移動する時、実際はsへ移動します)
②
(board
(symmetry Black (n s)(s n) (ne se)(se ne) (nw sw)(sw nw))
)
※プレイヤー<黒>では、上が下に、下が上になり、右上が右下に、右下が右上になり、左上が左下に、左下が左上になります。
(相手の動きが、線対称=上下対称になります)
③
(board
(symmetry Black (n s)(s n) (e w)(w e) (ne sw)(sw ne) (nw se)(se nw))
)
※プレイヤー<黒>では、上が下に、下が上になり、右が左に、左が右になり、右上が左下に、左下が右上になり、左上が右下に、右下が左上になります。
(相手の動きが、点対称=上下左右対称になります)
④
(board
(symmetry Green (e n) (n w) (w s) (s e))
)
※プレイヤー<緑>では、右が上になり、上が左になり、左が下になり、下が右になります。
(相手は、移動方向が時計回りに90度回転しています)
駒の動きは、最初のプレイヤーを基準にしており、他のプレイヤーが対向または直交している場合、駒の進行方向を変更する必要があります。
2人対戦で、相手が対向している場合、相手は自分に向かって移動するため、進行方向が反対になります。
上下だけ反転するか、左右も反転する必要があるかは、左右非対称に移動する駒があるかどうかで変わります。
盤上を検索する場合、手番のプレイヤーによって方向の上下が反転したり、場合によっては左右も反転することも考慮する必要があります。
最終更新:2020年08月27日 00:45