ChessLang으로 첫 번째 체스 변형 만들기
첫 번째 게임 만들기
이 튜토리얼에서는 ChessLang을 사용하여 첫 번째 체스 변형인 "King of the Hill"을 만들어 보겠습니다.
목표
"King of the Hill"은 인기 있는 체스 변형으로, 킹을 보드 중앙 4개 칸 중 하나로 이동시키면 승리합니다. 표준 체크메이트도 여전히 유효합니다.
단계 1: 게임 정의
모든 ChessLang 파일은 게임 이름과 기반이 되는 게임으로 시작합니다:
chesslang
game: "King of the Hill"
extends: "Standard Chess"game: 변형의 이름입니다extends: 상속할 기본 규칙입니다. 대부분의 변형은 "Standard Chess"를 확장합니다
단계 2: 중앙 존 정의
승리 조건을 위한 "hill" 존을 정의합니다:
chesslang
board:
zones:
hill: [d4, d5, e4, e5]존은 보드에서 이름이 지정된 영역입니다. 조건과 트리거에서 참조할 수 있습니다.
단계 3: 승리 조건 추가
새로운 승리 조건을 추가합니다:
chesslang
victory:
add:
hill: King in zone.hilladd: 기존 체크메이트 조건을 유지하면서 새 조건을 OR로 추가합니다hill: King in zone.hill: 킹이 hill 존에 있으면 승리합니다
💡 조건 결합 규칙: 여러 승리 조건은 OR로 결합됩니다.
위 코드의 결과:
checkmate OR hill- 둘 중 하나만 만족해도 승리!
완성된 코드
chesslang
game: "King of the Hill"
extends: "Standard Chess"
board:
zones:
hill: [d4, d5, e4, e5]
# 승리 조건: checkmate OR hill (OR 결합)
# 체크메이트 또는 킹이 중앙에 도달하면 승리
victory:
add:
hill: King in zone.hill테스트하기
- 플레이그라운드로 이동합니다
- 위의 코드를 에디터에 붙여넣습니다
- "Compile" 버튼을 클릭합니다
- 게임을 플레이합니다!
승리 조건 확인
- 킹을 d4, d5, e4, 또는 e5로 이동시켜 승리합니다
- 또는 상대를 체크메이트하여 승리합니다
확장하기
승리 조건 교체
체크메이트 대신 hill 조건만 사용하려면 replace를 사용합니다:
chesslang
# replace: 기존 checkmate 조건을 hill로 교체
# 결과: hill 조건만 적용 (체크메이트 제거됨)
victory:
replace:
checkmate: King in zone.hill승리 조건 제거
특정 조건만 제거하려면:
chesslang
# remove: 기존 조건 제거
victory:
remove:
- checkmate # 체크메이트 제거
add:
hill: King in zone.hill # 새 조건 추가더 큰 존
더 큰 중앙 영역을 사용할 수 있습니다:
chesslang
board:
zones:
hill: [c3, c4, c5, c6, d3, d4, d5, d6, e3, e4, e5, e6, f3, f4, f5, f6]시각적 표시 추가
존에 시각적 효과를 추가할 수 있습니다 (레벨 2):
chesslang
effect hill_marker {
visual: highlight(gold, 0.3)
}
trigger mark_hill {
on: game_start
do: mark zone.hill with hill_marker
}다음 단계
축하합니다! 첫 번째 체스 변형을 만들었습니다. 다음으로:
요약
| 키워드 | 설명 | 결합 방식 |
|---|---|---|
game | 변형 이름 | - |
extends | 기반 게임 | - |
board.zones | 이름 지정된 보드 영역 | - |
victory.add | 새 승리 조건 추가 | OR 결합 |
victory.replace | 기존 조건 교체 | OR 유지 |
victory.remove | 기존 조건 제거 | - |
📖 자세히 알아보기: 승리 조건 결합 규칙