Skip to content

Latest commit

 

History

History
275 lines (218 loc) · 13.6 KB

File metadata and controls

275 lines (218 loc) · 13.6 KB

♟️ 체스 얼티밋

English Español ![Français](https://img.shields.io/badge/Langue-Fr– ançais-red?style=for-the-badge) Deutsch 日本語 한국어 中文


🌐 모든 플레이어를 위한 현대적이고 기능이 풍부한 웹 기반 체스 게임 🌐

체스 얼티밋 로고

목차

소개

체스 얼티밋은 모든 기술 수준의 플레이어에게 원활하고 매력적인 경험을 제공하도록 설계된 오픈소스 웹 기반 체스 게임입니다. HTML5, CSS3, JavaScript로 구축되었으며, 클래식 체스 규칙을 준수하면서 다국어 지원, 사용자 정의 테마, AI 상대와 같은 현대적인 기능을 제공합니다. 이 게임은 반응형으로 다양한 디바이스에서 작동하며, 이동 기록, 타이머, 폰 승격과 같은 고급 기능을 포함하여 캐주얼 플레이, 학습, 또는 경쟁 연습에 이상적입니다.

GitHub Pages에서 호스팅되며 설치 없이 온라인으로 액세스할 수 있지만, 로컬에서도 실행할 수 있습니다. 오픈소스 프로젝트로서 기능 강화, 버그 수정, 접근성 개선을 위한 기여를 장려합니다.

참고: 이 프로젝트는 활발히 개발 중입니다. 일부 기능(예: 사운드 효과, AI 정교함)은 제한이나 버그가 있을 수 있습니다. 여러분의 피드백은 매우 소중합니다!

특징

  • 클래식 체스 게임플레이: 캐슬링, 앙파상, 폰 승격을 포함한 표준 체스 규칙을 구현.
  • 플레이 모드:
    • 인간 vs 인간 (동일한 디바이스에서 로컬 플레이).
    • 인간 vs AI (검은 말에 대한 기본 랜덤 이동 AI).
  • 다국어 지원: 영어, 스페인어, 프랑스어, 독일어, 일본어, 한국어, 중국어로 제공.
  • 사용자 정의 UI:
    • 색상 테마: 23가지 테마(예: 블루, 레인보우, 갤럭시, 빈티지) 중 선택.
    • 말 스타일: 유니코드, 클래식, 모던, 에스테틱, 픽셀, 2D 브라운 & 화이트, 3D 브라운 & 화이트 중 선택.
    • 보드 크기: 슬라이더로 보드 크기 조정 (50–100 vmin).
  • 게임 기능:
    • 이동 기록: 표준 대수 표기법으로 이동 추적, 실행 취소/다시 실행 지원.
    • 타이머: 백과 흑에 대한 선택적 10분 타이머, 시작/일시정지 기능 포함.
    • 잡힌 말: 각 플레이어가 잡은 말을 표시.
    • 분석 바: 말 가치에 기반한 물질 균형을 시각화.
    • 폰 승격: 퀸, 룩, 비숍, 나이트를 선택하는 인터랙티브 모달.
  • 설정:
    • 보드 레이블(랭크/파일) 토글.
    • 애니메이션 속도 조정 (0.1x ~ 2x).
    • 사운드 효과 활성화/비활성화 (참고: 현재 오디오 경로가 유효하지 않음).
  • 반응형 디자인: 데스크톱, 태블릿, 모바일 디바이스에 최적화.
  • 시각 효과:
    • 사용자 정의 가능한 속도의 말 이동 애니메이션.
    • 랜딩 페이지의 다이내믹 particles.js 배경.
    • 이동 피드백을 위한 깜빡이는 칸.
  • 접근성: 키보드 탐색 가능한 컨트롤과 스크린 리더용 ARIA 속성.
  • 로컬 스토리지: 세션 간 설정(언어, 테마, 말 스타일 등) 저장.
  • 광고 없음: 방해 없는 경험.

시스템 요구사항

체스 얼티밋을 실행하려면 다음이 필요합니다:

  • 웹 브라우저: JavaScript가 활성화된 현대 브라우저(예: Chrome, Firefox, Edge, Safari).
  • 운영 체제: 호환 브라우저가 있는 모든 OS (Windows, macOS, Linux, iOS, Android).
  • 디스크 공간: 최소 (~5MB, 애셋 포함).
  • 인터넷 연결: 초기 애셋 로딩(예: Bootstrap, Font Awesome)에 필요, 로컬 호스팅이 아닌 경우.
  • 종속성: 없음 (모든 애셋은 CDN 또는 로컬 파일을 통해 로드됨).

설치

체스 얼티밋을 로컬에 설정하려면 다음 단계를 따르세요:

  1. 리포지토리 클론:

    git clone https://github.com/VoxDroid/Chess-Ultimate.git
  2. 프로젝트 디렉토리로 이동:

    cd Chess-Ultimate
  3. 애플리케이션 열기:

    • index.html을 더블 클릭하여 기본 웹 브라우저에서 열기.
    • 또는 로컬 서버를 사용하여 파일 제공 (애셋 로딩에 권장):
      python -m http.server 8000
      이후 브라우저에서 http://localhost:8000에 액세스.
  4. 기능 확인:

    • 로고와 "게임 플레이" 버튼이 있는 랜딩 페이지가 로드되는지 확인.
    • "플레이"를 클릭하여 게임을 시작하고 이동 테스트 (예: e2에서 e4로 폰 이동).
    • 내비게이션 바, 설정, 게임 정보 패널이 작동하는지 확인.

참고: chess_script.js 내 유효하지 않은 오디오 파일 경로로 인해 현재 사운드 효과가 비활성화됨. SOUND_EFFECTS 객체를 유효한 .mp3 파일로 업데이트하여 활성화.

시작하기

체스 얼티밋을 시작하려면:

  1. 게임에 액세스:

  2. 랜딩 페이지 탐색:

    • "게임 플레이" 버튼을 클릭하여 게임 인터페이스로 이동.
    • 랜딩 페이지는 플로팅 애니메이션 로고와 particles.js 배경이 특징.
  3. 인터페이스 탐색:

    • 내비게이션 바: 언어, 색상 테마, 말 스타일, 설정, 게임 정보 토글에 액세스.
    • 체스보드: 8x8 보드 표시, 랭크/파일 레이블은 선택 사항.
    • 게임 정보 패널: 타이머, 이동 기록, 분석 바, 컨트롤(새 게임, 실행 취소, 다시 실행, 보드 뒤집기, AI 이동) 표시.
    • 잡힌 말: 각 플레이어가 잡은 말을 나열.
  4. 게임 시작:

    • "게임 플레이"를 클릭하여 새 보드를 초기화.
    • 말을 클릭한 후 유효한 목적지 칸을 클릭하여 이동.
    • AI 이동 버튼을 사용하여 AI(흑)가 이동하도록 설정.
  5. 설정 사용자 정의:

    • 톱니바퀴 아이콘을 통해 설정 모달 열기.
    • 보드 크기, 애니메이션 속도, 사운드 효과, 레이블 토글 조정.
    • 설정은 로컬 스토리지에 자동 저장.

사용 방법

게임 플레이

  • 인간 vs 인간:
    • 플레이어는 차례로 말 이동 (백이 먼저).
    • 말을 클릭하여 유효한 이동 강조, 목적지 칸 클릭.
    • 특수 이동(캐슬링, 앙파상, 승격) 지원.
  • 인간 vs AI:
    • 백으로 플레이; "AI 이동" 버튼을 클릭하여 AI가 흑 말을 이동.
    • AI는 현재 1.5초 지연으로 랜덤 유효 이동 선택.
  • 컨트롤:
    • 새 게임: 보드와 타이머 리셋.
    • 실행 취소/다시 실행: 마지막 이동 취소 또는 재적용.
    • 보드 뒤집기: 보드 방향 전환 (백/흑 시점).
    • 타이머 시작/일시정지: 각 플레이어에 대해 10분 타이머 활성화.
    • AI 이동: 흑에 대한 AI 이동 트리거.

사용자 정의

  • 언어: 내비게이션 바 드롭다운에서 7개 언어 선택.
  • 색상 테마: 보드와 UI 스타일링을 위해 23개 테마 중 선택.
  • 말 스타일: 유니코드 또는 이미지 기반 말 세트 간 전환.
  • 설정:
    • 랭크(1-8) 및 파일(a-h)에 대한 보드 레이블 토글.
    • 슬라이더 또는 +/- 버튼으로 보드 크기 조정.
    • 말 이동 애니메이션 속도 설정.
    • 사운드 효과 활성화/비활성화 (유효한 오디오 파일 필요).

게임 기능

  • 이동 기록: 대수 표기법(예: "e4", "Nxf3")으로 이동 표시.
  • 타이머: 각 플레이어의 시간 추적 (기본 10분).
  • 분석 바: 말 가치(폰=1, 나이트/비숍=3, 룩=5, 퀸=9)에 기반한 물질 우위 표시.
  • 잡힌 말: 선택한 말 스타일로 잡힌 말 표시.
  • 폰 승격: 폰이 상대 최종 랭크에 도달하면 말 선택.
  • 알림: 체크, 체크메이트, 스테일메이트, 턴 변경에 대한 경고.

데모

체스 얼티밋 게임플레이

체스 얼티밋을 라이브로 체험: voxdroid.github.io/Chess-Ultimate.

기여

체스 얼티밋에 대한 기여를 환영합니다! 참여하려면:

  • 기여 가이드라인을 검토하여 이슈, 기능 요청, 풀 리퀘스트 제출 방법 확인.
  • 리포지토리를 포크하고 변경 사항을 적용한 후 풀 리퀘스트 제출.
  • 행동 강령을 준수하여 존중하는 커뮤니티 보장.

기여 예시:

  • 더 강력한 알고리즘(예: 알파-베타 가지치기 미니맥스)으로 AI 개선.
  • 사운드 효과 경로 수정 또는 새 오디오 파일 추가.
  • 접근성 향상(예: 더 나은 ARIA 지원, 키보드 탐색).
  • 새 말 스타일 또는 색상 테마 추가.

보안

체스 얼티밋은 보안을 우선순위로 합니다. 취약점을 발견하면:

  • 보안 정책에 설명된 대로 비공개로 보고.
  • 문제가 해결될 때까지 공개적으로 공개하지 않음.

행동 강령

모든 기여자와 사용자는 행동 강령을 준수하여 환영하고 포용적인 환경을 유지해야 합니다.

지원

체스 얼티밋에 도움이 필요하신가요? 지원 페이지에서 다음 리소스를 확인하세요:

  • 버그 보고서 또는 기능 요청 제출.
  • 커뮤니티 토론 및 연락처 정보.
  • 일반적인 문제(예: 사운드 효과, AI 동작)에 대한 FAQ.

라이선스

체스 얼티밋은 MIT 라이선스 하에 라이선스됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

감사의 말

  • Bootstrap: 반응형 레이아웃 및 UI 컴포넌트.
  • Font Awesome: 내비게이션 바 및 컨트롤에 사용된 아이콘.
  • Google Fonts: Poppins 폰트 패밀리.
  • particles.js: 다이내믹 랜딩 페이지 배경.
  • VoxDroid: 프로젝트 생성 및 유지 관리.
  • 기여자: 이슈 보고, 기능 제안, 코드 제공에 감사.
  • 체스 커뮤니티: chess.com과 같은 리소스로 이 프로젝트에 영감을 줌.

VoxDroid에 의해 개발됨

체스 얼티밋을 즐기고 계신가요? GitHub에서 프로젝트에 스타를 달아주세요!