슬라이딩 숫자 퍼즐
숫자 타일은 빈칸으로만 들어갈 수 있습니다. 정렬된 판에서 실제 합법 이동만 적용해 섞으므로 생성한 판은 언제나 풀 수 있습니다. 선택 힌트는 맨해튼 거리 기반 IDA*로 최단 해법을 탐색하지만 노드·시간·깊이 상한에 걸리면 불가능하다고 단정하지 않고 미확인으로 표시합니다.
주요 기능
- 합법적인 인접 이동만으로 생성한 재현 가능한 3×3·4×4·5×5 판
- 한 타일 인접성 검사, 완료 판정, 한 수 되돌리기와 초기 판 복원
- 터치·키보드 조작과 이동 가능한 타일 강조, 명확한 성공 표시
- 상한 내 최단 경로 힌트와 한도 초과 시 미확인 상태 구분
- 시드·초기/현재 판·사용자 이동을 담은 로컬 JSON 기록
사용 방법
- 격자 크기와 섞기 횟수, 정수 시드를 정한 뒤 퍼즐을 만드세요.
- 빈칸 옆 타일을 클릭하거나 포커스 후 Enter를 누르세요. 방향키로 빈칸에 타일을 밀 수도 있습니다.
- 필요하면 이동을 되돌리거나 판을 초기화하고 제한형 다음 타일 힌트를 요청하세요.
- 숫자를 오름차순으로, 빈칸을 오른쪽 아래에 두면 완료입니다. 이동 기록은 JSON으로 저장할 수 있습니다.
활용 예시
- 같은 판에서 고전 8퍼즐 또는 15퍼즐을 연습하기
- 시드를 공유해 다른 사람과 동일한 도달 가능한 배열에서 시작하기
- 공간 퍼즐을 풀고 실제로 누른 타일 순서를 검토하기
자주 묻는 질문
생성된 판이 풀 수 없을 수도 있나요?
아니요. 완성 판에서 인접 타일을 실제로 움직여 섞으므로 항상 도달 가능합니다. 모델은 짝수 폭 판의 역전수 규칙도 확인합니다.
힌트는 항상 나오나요?
아닙니다. 최단 경로 탐색은 12만 노드·300밀리초·80수에서 중단됩니다. 상한에 닿으면 미완료 탐색으로 표시하며 해가 없다고 주장하지 않습니다.
섞기 횟수가 난도를 뜻하나요?
아닙니다. 합법적으로 섞은 이동 횟수이며 최단 거리나 체감 난도의 증명은 아닙니다. 드물게 완성 판으로 되돌아오면 합법 이동 한 번을 추가합니다.
키보드로 어떻게 움직이나요?
숫자 타일에 포커스를 맞추고 Enter 또는 Space를 누르세요. 방향키는 포커스를 옮기며 화살표 방향이 빈칸이면 그 타일을 밀어 넣습니다.
JSON에 정답도 저장되나요?
아닙니다. 생성 판과 현재 판, 사용자 이동만 기록합니다. 힌트는 요청할 때 브라우저에서 계산하며 JSON에는 포함되지 않습니다.
개인정보 안내
판·시드·이동 기록·힌트 탐색은 브라우저 탭에만 있습니다. 요청할 때만 JSON을 내려받으며 서버로 퍼즐 입력을 전송하지 않습니다.
댓글과 질문