Chessembly의 모든 식(Expression)과 핵심 규칙을 요약한 문서입니다.

1. 식의 값 규칙

  1. true (계속): 식이 성공하면 true를 반환하고, '식 연쇄'는 다음 식을 실행합니다.
  2. false (종료): '일반 식'이 false를 반환하면, '식 연쇄' 전체가 종료됩니다.
  3. 예외: while, jmp, jne, not, label, true, false, read, read-(and/or/xor), writefalse를 받아도 연쇄를 종료시키지 않습니다.

2. 행마식 (Movement Expressions)

칸을 활성화(🔵)하고 🌟 '기준 위치'를 이동시킵니다.

식 (Expression) 대상: 빈 칸 (Empty) 대상: 적 기물 (Enemy) 대상: 아군/벽 (Ally/Wall)
move 🔵 활성화, 기준 위치 이동, true false (종료) false (종료)
take 기준 위치 이동, true 🔵 활성화, 기준 위치 이동, true false (종료)
take-move 🔵 활성화, 기준 위치 이동, true 🔵 활성화, 기준 위치 이동, ❌ false (종료) false (종료)
catch 기준 위치 이동, true 🔵 활성화, 기준 위치 이동, true false (종료)
jump 🔵 활성화, 기준 위치 이동, true false (종료) false (종료)
shift 🔵 활성화, 기준 위치 이동, true 🔵 활성화, 기준 위치 이동, true 아군인 경우 🔵 활성화, 기준 위치 이동 및 true, 벽인 경우 false

3. 제어식 (Control Expressions)

'식 연쇄'의 실행 흐름(어떤 식이 다음에 실행될지)을 직접 제어합니다.

식 (Expression) 직전 값이 false일 때 반환 값 설명
repeat(n) 연쇄 종료 (직전 값) true일 때만 n칸 뒤로 점프합니다.
{ ... } 연쇄 종료 (블록 마지막 값) false를 격리하고 기준 위치를 복원합니다. (Y자 행마, 템페스트-룩)
end (해당 없음) (없음) {} 블록 안에서도 '식 연쇄'를 무조건 종료합니다.
do 연쇄 종료 true while과 쌍을 이루는 루프의 시작점. '일반 식'입니다.
while 연쇄 계속 true (예외) true일 때만 do로 점프합니다. (바운싱 비숍)
label(n) 연쇄 계속 (직전 값) (예외) jmp/jne의 목적지. 직전 값을 그대로 전달합니다.
jmp(n) 연쇄 계속 true (예외) true일 때만 label(n)으로 점프합니다.
jne(n) 연쇄 계속 true (예외) false일 때만 label(n)으로 점프합니다. (바운싱 비숍)
not 연쇄 계속 !(직전 값) (예외) truefalse로, falsetrue로 뒤집습니다.
true 연쇄 계속 true (예외) 직전 값과 상관없이 true를 반환합니다.
false 연쇄 계속 false (예외) 직전 값과 상관없이 false를 반환합니다.
read(n) 연쇄 계속 bits[n] (예외) 직전 값과 상관없이 n번째 비트에 저장된 값을 반환합니다.
(단, $0 \leq n \lt 16$)
read-and(n) 연쇄 계속 bits[n] & (직전 값) (예외) 직전 값과 n번째 비트에 저장된 값의 and 연산 값을 반환합니다.
(단, $0 \leq n \lt 16$)
read-or(n) 연쇄 계속 `bits[n] (직전 값)`
(단, $0 \leq n \lt 16$)
read-xor(n) 연쇄 계속 bits[n] ^ (직전 값) (예외) 직전 값과 n번째 비트에 저장된 값의 xor 연산 값을 반환합니다.
(단, $0 \leq n \lt 16$)
write(n) 연쇄 계속 true (예외) n번째 비트에 직전 값을 저장합니다.
(단, $0 \leq n \lt 16$)

4. 조건식 (Conditional Expressions)

칸을 활성화하지 않고, '엿보기'를 통해 ✅ true / ❌ false만 반환합니다. (모두 '일반 식'이므로 false 반환 시 연쇄가 종료됩니다.)