ChessLang 키워드와 사용법의 완전한 목록

키워드 레퍼런스

레벨과 카테고리별로 정리된 ChessLang의 모든 키워드 완전 레퍼런스입니다.

레벨 1 키워드

게임 정의

키워드설명예시
game변형의 이름game: "My Variant"
extends상속할 기본 게임extends: "Standard Chess"

보드 설정

키워드설명예시
board보드 설정 블록board:
size보드 크기size: 8x8
zones이름 지정된 보드 영역zones:

배치

키워드설명예시
setup초기 기물 배치setup:
White백 플레이어의 기물White:
Black흑 플레이어의 기물Black:
add기존 배치에 추가add:
modify기존 배치 수정modify:
remove배치에서 제거remove:

승리 & 무승부

⚠️ 핵심: 여러 조건은 OR로 결합됩니다. 하나라도 만족하면 게임이 종료됩니다.

키워드설명결합 방식예시
victory승리 조건 블록-victory:
draw무승부 조건 블록-draw:
add새 조건 추가기존 OR 새 조건add:
replace같은 이름의 조건 교체OR 유지replace:
remove조건 제거-remove:

조건 결합 예시:

chesslang
# 결과: checkmate OR hill (하나라도 만족시 승리)
victory:
  add:
    hill: King in zone.hill

# AND 로직은 단일 조건 내에서:
victory:
  add:
    complex: King in zone.hill and opponent.pieces <= 5

규칙

키워드설명예시
rules규칙 수정rules:
castling캐슬링 활성화/비활성화castling: false
en_passant앙파상 활성화/비활성화en_passant: true
promotion승진 규칙promotion:
check체크 규칙check:

레벨 2 키워드

기물 정의

키워드설명예시
piece커스텀 기물 정의piece Knight { }
move이동 패턴move: leap(2, 1)
capture잡기 패턴capture: =move
traits특수 능력traits: [jump, royal]
state기물 상태state: { rage: 0 }
value기물 가치value: 3
symbol표시 심볼symbol: "N"

패턴

키워드설명예시
step고정 거리 이동step(forward)
slide무제한 거리slide(diagonal)
leap점프 이동leap(2, 1)
hop기물 뛰어넘기hop(orthogonal)

패턴 수정자

키워드설명예시
where조건 추가step(forward) where empty
|Or 조합자slide(N) | slide(S)
+Then 조합자step(N) + slide(E)
*반복step(forward) * 3

효과

키워드설명예시
effect보드 효과 정의effect fire { }
damages피해 대상damages: [any]
blocks차단 대상blocks: [enemy]
on_enter진입 액션on_enter: capture(entering)
on_exit퇴장 액션on_exit: heal(exiting)
duration효과 지속 시간duration: 3
visual시각 스타일visual: highlight(red)

트리거

키워드설명예시
trigger트리거 정의trigger explode { }
on이벤트 타입on: capture
when조건when: piece.type == Bomb
do액션do: remove piece

이벤트

키워드설명
move모든 이동
capture기물 잡힘
check체크 줌
turn_start턴 시작
turn_end턴 종료
game_start게임 시작
game_end게임 종료

액션

키워드설명예시
set값 설정set piece.state.x = 1
create기물 생성create Pawn at e4 for White
remove기물 제거remove piece
transform타입 변경transform piece to Queen
mark효과 적용mark pos with fire
move기물 이동move piece to target
win승자 선언win White
lose패자 선언lose Black
draw무승부 선언draw

내장 특성 (Traits)

특성설명
royal잡히면 패배 (체크메이트 대상)
jump다른 기물을 뛰어넘을 수 있음
phase다른 기물을 통과할 수 있음
promote끝에 도달하면 승진 가능
immune잡히지 않음
explosive잡히면 주변 기물을 파괴

레벨 3 키워드

변수

키워드설명예시
let변경 가능한 변수let x = 5;
const변경 불가능한 상수const y = 10;

제어 흐름

키워드설명예시
if조건문if (x > 0) { }
else대안else { }
forFor 루프for (let i = 0; i < 8; i++)
whileWhile 루프while (active) { }
break루프 탈출break;
continue다음 반복continue;
return값 반환return result;

함수

키워드설명예시
function함수 정의function calc(x) { }
=>화살표 함수(x) => x * 2

스크립트 블록

키워드설명예시
script스크립트 블록script { }

연산자

산술

연산자설명예시
+덧셈a + b
-뺄셈a - b
*곱셈a * b
/나눗셈a / b
%나머지a % b

비교

연산자설명예시
==같음a == b
!=다름a != b
<미만a < b
>초과a > b
<=이하a <= b
>=이상a >= b

논리

연산자설명예시
and논리 ANDa and b
or논리 ORa or b
not논리 NOTnot a
&&AND (레벨 3)a && b
||OR (레벨 3)a || b
!NOT (레벨 3)!a

대입

연산자설명예시
=대입x = 5
+=덧셈 대입x += 1
-=뺄셈 대입x -= 1
*=곱셈 대입x *= 2
/=나눗셈 대입x /= 2

내장 값

색상/플레이어

설명
White백 플레이어
Black흑 플레이어

기물 타입

설명
King킹 기물
Queen퀸 기물
Rook룩 기물
Bishop비숍 기물
Knight나이트 기물
Pawn폰 기물

불리언

설명
true
false거짓
null널 값

예약어

다음 단어들은 예약되어 있으며 식별자로 사용할 수 없습니다:

text
game, extends, board, size, zones, setup, pieces, victory, draw, rules,
piece, pattern, effect, trigger, action, move, capture, traits, state,
on, when, do, where, if, else, for, while, break, continue, return,
function, let, const, script, true, false, null, and, or, not,
White, Black, King, Queen, Rook, Bishop, Knight, Pawn

참고