체스판만 보고는 캐슬링이 가능한지 알 수 없는 경우도 있습니다. 따라서 게임을 중단했다가 이어나가기 위해서는 캐슬링 가능 여부에 대한 추가적인 정보가 필요합니다.

Chessembly는 단순한 행마 정의를 넘어, 게임의 "상태(State)"를 기억하고, 그 상태에 따라 행마를 바꾸는 강력한 기능을 제공합니다. 캐슬링 가능 여부도 하나의 State입니다.

예를 들어, "이 기물이 이번에 rook처럼 움직였다면, 다음 턴에는 bishop처럼 움직이게 하라"와 같은 규칙을 만들 수 있습니다.

상태를 관리하는 식은 두 종류로 나뉩니다.

  1. 조건식: 현재 상태를 읽고 true / false를 반환합니다. (if-state, piece)
  2. 수식어(Modifier): 이후에 활성화될 칸에 특별한 액션을 부착합니다. (set-state, transition)

1. 상태 조건식 (읽기)

이 식들은 관문 역할을 합니다. 뒤에 not 을 붙여 반전할 수도 있습니다.


2. 상태 수식어 (쓰기)

이 식들은 튜토리얼의 movetake-move와 약간 다르게 작동합니다.

이 식들 자체는 (실패하지 않는 한) 항상 true를 반환하여 연쇄를 계속 진행시킵니다.