셸에 일본 문학 탭을 더하고 site/japanese.html 을 추가했다. 9x9 44칸 14항목으로 네 편 중 가장 촘촘하다. 첫 열에 《나는 고양이로소이다》 아홉 자가 통째로 들어간다. 일본어 한글 표기는 음절이 잘 겹쳐(낱말 143개에 음절 166종) 독일 편처럼 풀을 억지로 넓히지 않아도 교차가 넉넉히 나왔다. 격자 품질 검사에 항목 간 포함 관계 검사를 더했다. 한 정답이 다른 정답에 통째로 들어가는 짝(소세키 / 나쓰메소세키)은 한 격자에 같이 두지 않는다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
75 lines
5.6 KiB
HTML
75 lines
5.6 KiB
HTML
<!doctype html>
|
||
<html lang="ko">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||
<title>가로세로 낱말풀이 · 일본 문학</title>
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link href="https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Gothic+A1:wght@300;500;700;900&family=Nanum+Myeongjo:wght@400;700;800&display=swap" rel="stylesheet">
|
||
<link rel="stylesheet" href="assets/crossword.css">
|
||
</head>
|
||
<body>
|
||
<div class="wrap">
|
||
<header class="head">
|
||
<div class="eyebrow">日本文学 · 9 × 9</div>
|
||
<h1>일본 문학<em>가로세로 낱말풀이</em></h1>
|
||
<div class="meta">
|
||
<div><b id="timer">00:00</b><span>경과 시간</span></div>
|
||
<div><b id="progress">0/44</b><span>채운 칸</span></div>
|
||
</div>
|
||
</header>
|
||
|
||
<main class="stage">
|
||
<section>
|
||
<div class="cluebar">
|
||
<span class="cb-num" id="cbNum">–</span>
|
||
<span class="cb-dir" id="cbDir">가로</span>
|
||
<span class="cb-text" id="cbText">칸을 눌러 시작하세요.</span>
|
||
</div>
|
||
|
||
<div class="board-frame">
|
||
<div class="board" id="board" role="grid" aria-label="가로세로 낱말풀이 격자"></div>
|
||
<input id="ime" type="text" lang="ko" inputmode="text"
|
||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||
aria-label="글자 입력">
|
||
</div>
|
||
|
||
<div class="tools">
|
||
<button type="button" data-act="flip">가로 ↔ 세로</button>
|
||
<button type="button" data-act="check">검사</button>
|
||
<button type="button" data-act="hint">이 칸 힌트</button>
|
||
<button type="button" data-act="reveal">정답 보기</button>
|
||
<button type="button" data-act="clear">전부 지우기</button>
|
||
</div>
|
||
|
||
<p class="tip">
|
||
같은 칸을 한 번 더 누르면 가로 ↔ 세로가 바뀌고, 오른쪽 단서도 그에 맞춰 바뀝니다.<br>
|
||
<kbd>화살표</kbd> 이동 · <kbd>Space</kbd> 방향 전환 · <kbd>Tab</kbd> 다음 단어 · <kbd>Backspace</kbd> 지우고 뒤로
|
||
</p>
|
||
</section>
|
||
|
||
<aside>
|
||
<section class="cluegroup">
|
||
<h2>가로 열쇠</h2>
|
||
<ol id="listA"></ol>
|
||
</section>
|
||
<section class="cluegroup">
|
||
<h2>세로 열쇠</h2>
|
||
<ol id="listD"></ol>
|
||
</section>
|
||
</aside>
|
||
</main>
|
||
</div>
|
||
|
||
<div class="done" id="done" hidden>
|
||
<span id="doneMsg">전부 맞혔습니다.</span>
|
||
</div>
|
||
|
||
<script>
|
||
const PUZZLE = {"size": 9, "grid": [["나", null, null, null, null, null, null, null, "후"], ["는", null, "모", "리", "오", "가", "이", null, "미"], ["고", null, "방", null, null, "와", null, "오", "에"], ["양", null, "범", null, null, "바", null, "가", null], ["이", "불", null, "아", "쿠", "타", "가", "와", null], ["로", null, null, null, null, null, "면", null, null], ["소", null, "은", "하", "철", "도", "의", "밤", null], ["이", null, null, "이", null, null, "고", null, null], ["다", "쿠", "보", "쿠", null, null, "백", "야", "행"]], "nums": [[1, 0, 0, 0, 0, 0, 0, 0, 2], [0, 0, 3, 0, 0, 4, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 5, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [6, 0, 0, 7, 0, 0, 8, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 9, 10, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0], [11, 0, 0, 0, 0, 0, 12, 0, 0]], "entries": [{"num": 1, "dir": "D", "r": 0, "c": 0, "answer": "나는고양이로소이다", "clue": "이름 없는 고양이가 인간을 내려다보며 늘어놓는 관찰", "kind": "작품"}, {"num": 2, "dir": "D", "r": 0, "c": 8, "answer": "후미에", "clue": "밟으라 요구받은, 성인의 얼굴을 새긴 판", "kind": "핵심어"}, {"num": 3, "dir": "A", "r": 1, "c": 2, "answer": "모리오가이", "clue": "《무희》 《기러기》를 쓴 육군 군의이자 문인", "kind": "작가"}, {"num": 3, "dir": "D", "r": 1, "c": 2, "answer": "모방범", "clue": "여러 시선으로 연쇄 범죄를 좇는 대작 추리", "kind": "작품"}, {"num": 4, "dir": "D", "r": 1, "c": 5, "answer": "가와바타", "clue": "《설국》으로 일본 최초의 노벨문학상을 받은 작가", "kind": "작가"}, {"num": 5, "dir": "A", "r": 2, "c": 7, "answer": "오에", "clue": "《개인적인 체험》으로 노벨문학상을 받은 작가", "kind": "작가"}, {"num": 5, "dir": "D", "r": 2, "c": 7, "answer": "오가와", "clue": "《박사가 사랑한 수식》의 작가", "kind": "작가"}, {"num": 6, "dir": "A", "r": 4, "c": 0, "answer": "이불", "clue": "제자가 남긴 이부자리에 얼굴을 묻는 스승", "kind": "작품"}, {"num": 7, "dir": "A", "r": 4, "c": 3, "answer": "아쿠타가와", "clue": "〈라쇼몬〉 〈코〉를 쓴 단편의 명수", "kind": "작가"}, {"num": 8, "dir": "D", "r": 4, "c": 6, "answer": "가면의고백", "clue": "제 몸에 맞지 않는 얼굴을 쓰고 살아온 고백", "kind": "작품"}, {"num": 9, "dir": "A", "r": 6, "c": 2, "answer": "은하철도의밤", "clue": "조반니와 캄파넬라가 밤 기차로 별길을 가는 이야기", "kind": "작품"}, {"num": 10, "dir": "D", "r": 6, "c": 3, "answer": "하이쿠", "clue": "다섯 · 일곱 · 다섯으로 짓는 짧은 시", "kind": "용어"}, {"num": 11, "dir": "A", "r": 8, "c": 0, "answer": "다쿠보쿠", "clue": "《한 줌의 모래》를 남기고 요절한 가인", "kind": "작가"}, {"num": 12, "dir": "A", "r": 8, "c": 6, "answer": "백야행", "clue": "쫓는 형사와 쫓기는 두 사람의 십구 년", "kind": "작품"}]};
|
||
</script>
|
||
<script src="assets/crossword.js"></script>
|
||
</body>
|
||
</html>
|