{"id":1201,"date":"2025-06-16T10:22:25","date_gmt":"2025-06-16T01:22:25","guid":{"rendered":"https:\/\/dod77.synology.me\/wordpress\/?p=1201"},"modified":"2025-07-11T08:11:49","modified_gmt":"2025-07-10T23:11:49","slug":"%ec%9e%a5%ec%9b%90%ed%95%9c%ec%9e%90-%ec%a4%808%ea%b8%89-8%ea%b8%89-%ec%a4%807%ea%b8%89-7%ea%b8%89-%eb%9e%9c%eb%8d%a4%ed%80%b4%ec%a6%88%ea%b2%8c%ec%9e%84","status":"publish","type":"post","link":"https:\/\/dod77.synology.me\/wordpress\/1201\/","title":{"rendered":"\uc7a5\uc6d0\ud55c\uc790 \uc9008\uae09, 8\uae09, \uc9007\uae09, 7\uae09, \uc9006\uae09, 6\uae09 \ub79c\ub364\ud034\uc988\uac8c\uc784"},"content":{"rendered":"\n<div class=\"jk-game-board-container\" id=\"jk-gameBoardContainer\">\n    <div class=\"jk-game-board\" id=\"jk-gameBoard\">\n        <div id=\"jk-settingsContainer\">\n            <label for=\"jk-questionCount\">\uba87 \ubb38\uc81c\ub97c \ucd9c\uc81c\ud560\uae4c\uc694?<\/label>\n            <input type=\"number\" id=\"jk-questionCount\" min=\"1\" value=\"15\">\n            <label for=\"jk-timerLimit\">\ubb38\uc81c\ub2f9 \uc81c\ud55c \uc2dc\uac04(\ucd08):<\/label>\n            <input type=\"number\" id=\"jk-timerLimit\" min=\"1\" value=\"5\">\n            <div class=\"jk-checkbox-container\">\n                <div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jangwon82\" name=\"jk-data\" value=\"jangwon82\" checked=\"\">\n                    <label for=\"jk-jangwon82\">\uc7a5\uc6d0 \uc9008\uae09<\/label>\n                <\/div>\n                <div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jangwon8\" name=\"jk-data\" value=\"jangwon8\">\n                    <label for=\"jk-jangwon8\">\uc7a5\uc6d0 8\uae09<\/label>\n                <\/div>\n\t\t\t\t<div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jangwon72\" name=\"jk-data\" value=\"jangwon72\">\n                    <label for=\"jk-jangwon72\">\uc7a5\uc6d0 \uc9007\uae09<\/label>\n                <\/div>\n                <div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jangwon7\" name=\"jk-data\" value=\"jangwon7\">\n                    <label for=\"jk-jangwon7\">\uc7a5\uc6d0 7\uae09<\/label>\n                <\/div>\n\t\t\t\t<div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jangwon62\" name=\"jk-data\" value=\"jangwon62\">\n                    <label for=\"jk-jangwon62\">\uc7a5\uc6d0 \uc9006\uae09<\/label>\n                <\/div>\n\t\t\t\t<div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jangwon6\" name=\"jk-data\" value=\"jangwon6\">\n                    <label for=\"jk-jangwon6\">\uc7a5\uc6d0 6\uae09<\/label>\n                <\/div>\n            <\/div>\n            <button id=\"jk-startButton\" class=\"jk-button\">\uc2dc\uc791<\/button>\n        <\/div>\n        <div id=\"jk-gameInfo\" class=\"jk-hide\">\n            <button id=\"jk-pauseButton\" class=\"jk-small-button\">\u23f8<\/button>\n            <span id=\"jk-remainingQuestions\">\ub0a8\uc740 \ubb38\uc81c \uc218: 15<\/span>\n            <span id=\"jk-scoreDisplay\">\uc810\uc218: 0\/15<\/span>\n            <span id=\"jk-timerDisplay\">\ub0a8\uc740 \uc2dc\uac04: <span id=\"jk-timerValue\">5<\/span>\ucd08<\/span>\n        <\/div>\n        <div id=\"jk-questionContainer\" class=\"jk-hide\">\n            <p id=\"jk-question\">\uc9c8\ubb38\uc774 \uc5ec\uae30\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/p>\n            <div id=\"jk-optionsContainer\"><\/div>\n        <\/div>\n        <div id=\"jk-endContainer\" class=\"jk-hide\">\n            <div class=\"jk-score-board\">\n                <p id=\"jk-finalScore\">\ucd5c\uc885 \uc810\uc218: 0\/15<\/p>\n                <p id=\"jk-finalTime\">\ucd1d \uc18c\uc694 \uc2dc\uac04: 0\ucd08<\/p>\n            <\/div>\n            <button id=\"jk-restartButton\" class=\"jk-button\">\ub2e4\uc2dc \uc2dc\uc791\ud558\uae30<\/button>\n        <\/div>\n        <button id=\"jk-fullscreenButton\" class=\"jk-button\">\uc804\uccb4 \ud654\uba74<\/button>\n    <\/div>\n<\/div>\n\n<audio id=\"jk-backgroundMusic\" loop=\"\"><\/audio>\n<audio id=\"jk-correctSound\"><\/audio>\n<audio id=\"jk-autoCorrectSound\"><\/audio>\n\n<style>\n@font-face {\n    font-family: 'KleeOne';\n    src: url('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/font\/KleeOne-Regular-2.ttf') format('truetype');\n}\n\n@font-face {\n    font-family: 'HakgyoansimBunpilR';\n    src: url('https:\/\/fastly.jsdelivr.net\/gh\/projectnoonnu\/noonfonts_2307-2@1.0\/HakgyoansimBunpilR.woff2') format('woff2');\n    font-weight: normal;\n    font-style: normal;\n}\n\n.jk-game-board-container {\n    width: 100%;\n    max-width: 100vw;\n    padding-top: 46.875%; \/* 16:7.5 \ube44\uc728 \uc720\uc9c0 *\/\n    position: relative;\n    margin: 0 auto;\n}\n\n.jk-game-board {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n    background-color: #ffea00;\n    border: 2px solid #000;\n    border-radius: 15px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n    font-family: 'HakgyoansimBunpilR', sans-serif;\n}\n\n#jk-settingsContainer {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 10px;\n    background-color: #fffacd;\n    padding: 20px;\n    border-radius: 10px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n    margin-bottom: 20px;\n}\n\n#jk-gameInfo {\n    display: none; \/* \ucd08\uae30 \uc0c1\ud0dc\uc5d0\uc11c\ub294 \uc228\uae30\uae30 *\/\n    justify-content: space-between;\n    align-items: center;\n    width: 100%;\n    padding: 10px;\n    background-color: #ffe082;\n    border-radius: 10px;\n    margin-bottom: 20px;\n}\n\n#jk-questionContainer {\n    margin-bottom: 20px;\n    width: 100%;\n    text-align: center;\n}\n\n#jk-endContainer {\n    display: none; \/* \ucd08\uae30 \uc0c1\ud0dc\uc5d0\uc11c\ub294 \uc228\uae30\uae30 *\/\n    text-align: center;\n    margin-bottom: 20px;\n}\n\n#jk-finalScore, #jk-finalTime {\n    font-size: 3em;\n    font-family: 'KleeOne', sans-serif;\n    color: #ff5722;\n    background-color: #fff;\n    padding: 20px;\n    border-radius: 10px;\n    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);\n    animation: pop-in 0.5s ease-in-out;\n}\n\n@keyframes pop-in {\n    0% {\n        transform: scale(0);\n        opacity: 0;\n    }\n    100% {\n        transform: scale(1);\n        opacity: 1;\n    }\n}\n\n#jk-restartButton {\n    font-size: 2em;\n    background-color: #4caf50;\n    color: #fff;\n    padding: 15px 30px;\n    margin-top: 20px;\n    border: none;\n    border-radius: 10px;\n    cursor: pointer;\n    transition: background-color 0.3s, transform 0.3s;\n}\n\n#jk-restartButton:hover {\n    background-color: #388e3c;\n    transform: scale(1.1);\n}\n\n#jk-question {\n    font-size: 10em;\n    margin-bottom: 20px;\n    color: #000;\n    background-color: rgba(255, 255, 255, 0.8);\n    padding: 20px;\n    border-radius: 10px;\n    font-family: 'KleeOne', sans-serif;\n}\n\n.fade-in {\n    animation: fadeIn 1s ease-in-out;\n}\n\n@keyframes fadeIn {\n    0% {\n        opacity: 0;\n        transform: scale(0.5);\n    }\n    100% {\n        opacity: 1;\n        transform: scale(1);\n    }\n}\n\n#jk-optionsContainer {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 15px;\n    width: 100%;\n}\n\n.jk-option, .jk-button {\n    padding: 15px 30px;\n    border: 2px solid #000;\n    border-radius: 10px;\n    cursor: pointer;\n    font-size: 1.5em;\n    background-color: #87cefa;\n    color: #000;\n    transition: background-color 0.3s, transform 0.3s;\n}\n\n.jk-option {\n    background-color: #ffeb3b;\n    color: #000;\n    width: 90%;\n    text-align: center;\n}\n\n.jk-option:hover {\n    background-color: #ffe082;\n    transform: scale(1.05);\n}\n\n.jk-option.correct {\n    background-color: #32cd32;\n    animation: blink 1s ease-in-out infinite;\n}\n\n.jk-option.incorrect {\n    background-color: #ff4500;\n}\n\n@keyframes blink {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0; }\n}\n\n.jk-button {\n    background-color: #87cefa;\n    color: #000;\n    margin-top: 10px;\n}\n\n.jk-small-button {\n    background-color: transparent;\n    color: #000;\n    border: none;\n    font-size: 1em;\n    cursor: pointer;\n    margin-right: 10px;\n}\n\n.jk-hide {\n    display: none;\n}\n\n#jk-fullscreenButton, #jk-exitFullscreenButton {\n    position: absolute;\n    bottom: 10px;\n    left: 10px;\n}\n\n.jk-fullscreen {\n    position: fixed;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    z-index: 9999;\n    background-color: rgba(0, 0, 0, 0.8);\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n\n.jk-fullscreen .jk-game-board {\n    width: 100%;\n    height: 100%;\n}\n\n.jk-checkbox-container {\n    display: flex;\n    gap: 20px;\n    justify-content: center;\n    align-items: center;\n}\n\n.jk-checkbox-item {\n    display: flex;\n    align-items: center;\n    gap: 5px;\n    background-color: #ffe082;\n    padding: 4px 10px;\n    margin-top: 10px;\n    border-radius: 10px;\n    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);\n}\n\n.jk-checkbox-item input {\n    width: 20px;\n    height: 20px;\n    cursor: pointer;\n}\n\n.jk-checkbox-item label {\n    font-size: 1.2em;\n    cursor: pointer;\n}\n<\/style>\n\n<script>\nlet currentQuestionIndex = 0;\nlet questions = [];\nlet timer;\nlet timerLimit = 5;\nlet questionCount = 15;\nlet correctAnswers = 0;\nlet isPaused = false;\nlet startTime;\nlet endTime;\nlet maxQuestions = 50; \/\/ \ucd5c\ub300 \ubb38\uc81c \uc218\nlet remainingTime; \/\/ \ub0a8\uc740 \uc2dc\uac04 \uc800\uc7a5\n\nconst musicFiles = [\n    \"(I've Got A) Baby Sister - Reed Mathis.mp3\",\n    \"Birthday Cake - Reed Mathis.mp3\",\n    \"Calimba - E's Jammy Jams.mp3\",\n    \"Good Morning! - Reed Mathis.mp3\",\n    \"Kazoom - Quincas Moreira.mp3\",\n    \"My Dog Is Happy - Reed Mathis.mp3\",\n    \"Sunny Day - Reed Mathis.mp3\",\n    \"Try To Catch Me - Reed Mathis.mp3\"\n];\n\nconst correctSoundFile = \"https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/music\/effect\/the-correct-answer-33-183620.mp3\";\nconst autoCorrectSoundFile = \"https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/music\/effect\/correct-156911.mp3\";\n\nfunction getRandomMusic() {\n    const randomIndex = Math.floor(Math.random() * musicFiles.length);\n    return `https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/music\/background\/${musicFiles[randomIndex]}`;\n}\n\nasync function fetchHanjaData() {\n    let data = [];\n    if (document.getElementById('jk-jangwon82').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jangwon82.json');\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            data = data.concat(await response.json());\n        } catch (error) {\n            console.error('Error fetching jangwon82 data:', error);\n        }\n    }\n    if (document.getElementById('jk-jangwon8').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jangwon8.json');\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            data = data.concat(await response.json());\n        } catch (error) {\n            console.error('Error fetching jangwon8 data:', error);\n        }\n    }\n\tif (document.getElementById('jk-jangwon72').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jangwon72.json');\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            data = data.concat(await response.json());\n        } catch (error) {\n            console.error('Error fetching jangwon72 data:', error);\n        }\n    }\n    if (document.getElementById('jk-jangwon7').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jangwon7.json');\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            data = data.concat(await response.json());\n        } catch (error) {\n            console.error('Error fetching jangwon7 data:', error);\n        }\n    }\n\tif (document.getElementById('jk-jangwon62').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jangwon62.json');\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            data = data.concat(await response.json());\n        } catch (error) {\n            console.error('Error fetching jangwon62 data:', error);\n        }\n    }\n\tif (document.getElementById('jk-jangwon6').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jangwon6.json');\n            if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);\n            data = data.concat(await response.json());\n        } catch (error) {\n            console.error('Error fetching jangwon6 data:', error);\n        }\n    }\n    maxQuestions = data.length;\n    document.getElementById('jk-questionCount').max = maxQuestions;\n    return data;\n}\n\nfunction getRandomQuestions(data, numQuestions) {\n    const shuffled = data.sort(() => 0.5 - Math.random());\n    return shuffled.slice(0, numQuestions).map(item => ({\n        question: item.hanja,\n        options: getOptions(data, item.meaning),\n        answer: item.meaning\n    }));\n}\n\nfunction getOptions(data, correctAnswer) {\n    const options = [correctAnswer];\n    while (options.length < 4) {\n        const randomOption = data[Math.floor(Math.random() * data.length)].meaning;\n        if (!options.includes(randomOption)) options.push(randomOption);\n    }\n    return options.sort(() => 0.5 - Math.random());\n}\n\nasync function startGame() {\n    const hanjaData = await fetchHanjaData();\n    const questionCountInput = document.getElementById('jk-questionCount').value;\n    const timerLimitInput = document.getElementById('jk-timerLimit').value;\n    questionCount = parseInt(questionCountInput, 10) || 15;\n    timerLimit = parseInt(timerLimitInput, 10) || 5;\n\n    if (questionCount > maxQuestions) {\n        alert(`\ucd5c\ub300 \ucd9c\uc81c \uac00\ub2a5 \ubb38\uc81c \uc218\ub294 ${maxQuestions}\ubb38\uc81c \uc785\ub2c8\ub2e4.`);\n        return;\n    }\n\n    try {\n        if (hanjaData.length > 0) {\n            questions = getRandomQuestions(hanjaData, questionCount);\n            currentQuestionIndex = 0;\n            correctAnswers = 0;\n            startTime = new Date();  \/\/ \uc2dc\uc791 \uc2dc\uac04 \uae30\ub85d\n            document.getElementById('jk-settingsContainer').style.display = 'none';\n            document.getElementById('jk-questionContainer').classList.remove('jk-hide');\n            document.getElementById('jk-gameInfo').style.display = 'flex';\n            document.getElementById('jk-endContainer').classList.add('jk-hide');\n            updateScoreDisplay();\n            playBackgroundMusic(); \/\/ \ubc30\uacbd \uc74c\uc545 \uc7ac\uc0dd\n            displayQuestion();\n        } else {\n            alert('\ub370\uc774\ud130\ub97c \ubd88\ub7ec\uc624\ub294 \uc911 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud574 \uc8fc\uc138\uc694.');\n            console.error('No data loaded');\n        }\n    } catch (error) {\n        alert('\ub370\uc774\ud130\ub97c \ubd88\ub7ec\uc624\ub294 \uc911 \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud574 \uc8fc\uc138\uc694.');\n        console.error('Failed to start game:', error);\n    }\n}\n\nfunction playBackgroundMusic() {\n    const musicElement = document.getElementById('jk-backgroundMusic');\n    musicElement.src = getRandomMusic();\n    musicElement.play();\n}\n\nfunction stopBackgroundMusic() {\n    const musicElement = document.getElementById('jk-backgroundMusic');\n    musicElement.pause();\n    musicElement.currentTime = 0;\n}\n\nfunction togglePauseBackgroundMusic() {\n    const musicElement = document.getElementById('jk-backgroundMusic');\n    if (musicElement.paused) {\n        musicElement.play();\n    } else {\n        musicElement.pause();\n    }\n}\n\nfunction playCorrectSound() {\n    const correctSoundElement = document.getElementById('jk-correctSound');\n    correctSoundElement.src = correctSoundFile;\n    correctSoundElement.play();\n}\n\nfunction playAutoCorrectSound() {\n    const autoCorrectSoundElement = document.getElementById('jk-autoCorrectSound');\n    autoCorrectSoundElement.src = autoCorrectSoundFile;\n    autoCorrectSoundElement.play();\n}\n\nfunction displayQuestion() {\n    if (timer) clearInterval(timer);\n\n    const questionContainer = document.getElementById('jk-question');\n    const optionsContainer = document.getElementById('jk-optionsContainer');\n    const timerValue = document.getElementById('jk-timerValue');\n    const remainingQuestions = document.getElementById('jk-remainingQuestions');\n\n    const currentQuestion = questions[currentQuestionIndex];\n    questionContainer.innerText = currentQuestion.question;\n    \n    questionContainer.classList.remove('fade-in');\n    void questionContainer.offsetWidth;\n    questionContainer.classList.add('fade-in');\n    \n    timerValue.innerText = timerLimit;\n    remainingQuestions.innerText = `\ub0a8\uc740 \ubb38\uc81c \uc218: ${questions.length - currentQuestionIndex}`;\n\n    optionsContainer.innerHTML = '';\n    currentQuestion.options.forEach(option => {\n        const optionButton = document.createElement('button');\n        optionButton.innerText = option;\n        optionButton.classList.add('jk-option');\n        optionButton.addEventListener('click', () => handleOptionClick(optionButton, option, currentQuestion.answer));\n        optionsContainer.appendChild(optionButton);\n    });\n\n    remainingTime = timerLimit;\n    timer = setInterval(() => updateTimer(timerValue), 1000);\n}\n\nfunction handleOptionClick(optionButton, selectedOption, correctAnswer) {\n    if (selectedOption === correctAnswer) {\n        optionButton.classList.add('correct');\n        correctAnswers++;\n        updateScoreDisplay();\n        playCorrectSound(); \/\/ \uc815\ub2f5 \ud6a8\uacfc\uc74c \uc7ac\uc0dd\n    } else {\n        optionButton.classList.add('incorrect');\n        playAutoCorrectSound(); \/\/ \uc624\ub2f5 \ud6a8\uacfc\uc74c \uc7ac\uc0dd\n    }\n    highlightCorrectAnswer();\n    disableOptions();\n    if (timer) clearInterval(timer);\n    setTimeout(nextQuestion, 2000);\n}\n\nfunction updateTimer(timerValue) {\n    if (isPaused) return;\n\n    if (remainingTime > 0) {\n        remainingTime--;\n        timerValue.innerText = remainingTime;\n    } else {\n        clearInterval(timer);\n        playAutoCorrectSound(); \/\/ \uc790\ub3d9 \uc815\ub2f5 \ud6a8\uacfc\uc74c \uc7ac\uc0dd\n        highlightCorrectAnswer();\n        disableOptions();\n        setTimeout(nextQuestion, 2000);\n    }\n}\n\nfunction disableOptions() {\n    const optionButtons = document.querySelectorAll('.jk-option');\n    optionButtons.forEach(button => {\n        button.disabled = true;\n        button.style.cursor = 'default';\n    });\n}\n\nfunction highlightCorrectAnswer() {\n    const optionButtons = document.querySelectorAll('.jk-option');\n    optionButtons.forEach(button => {\n        if (button.innerText === questions[currentQuestionIndex].answer) {\n            button.classList.add('correct');\n        }\n    });\n}\n\nfunction nextQuestion() {\n    currentQuestionIndex++;\n    if (currentQuestionIndex < questions.length) {\n        displayQuestion();\n    } else {\n        endGame();\n    }\n}\n\nfunction endGame() {\n    document.getElementById('jk-questionContainer').classList.add('jk-hide');\n    document.getElementById('jk-gameInfo').style.display = 'none';\n    document.getElementById('jk-endContainer').classList.remove('jk-hide');\n    const finalScore = document.getElementById('jk-finalScore');\n    const finalTime = document.getElementById('jk-finalTime');\n    endTime = new Date();  \/\/ \uc885\ub8cc \uc2dc\uac04 \uae30\ub85d\n    const timeDiff = Math.round((endTime - startTime) \/ 1000);  \/\/ \uc18c\uc694 \uc2dc\uac04 \uacc4\uc0b0\n    finalScore.innerText = `\ucd5c\uc885 \uc810\uc218: ${correctAnswers}\/${questionCount}`;\n    finalTime.innerText = `\ucd1d \uc18c\uc694 \uc2dc\uac04: ${timeDiff}\ucd08`;\n    document.getElementById('jk-endContainer').style.display = 'block';\n    stopBackgroundMusic(); \/\/ \ubc30\uacbd \uc74c\uc545 \uc815\uc9c0\n    isPaused = false; \/\/ Ensure isPaused is reset\n    enableAllButtons(); \/\/ Ensure all buttons are enabled at the end\n}\n\nfunction resetGame() {\n    currentQuestionIndex = 0;\n    document.getElementById('jk-settingsContainer').style.display = 'flex';\n    document.getElementById('jk-gameInfo').style.display = 'none';\n    document.getElementById('jk-questionContainer').classList.add('jk-hide');\n    document.getElementById('jk-endContainer').classList.add('jk-hide');\n    document.getElementById('jk-endContainer').style.display = 'none';\n    clearInterval(timer); \/\/ Clear any existing timer\n    stopBackgroundMusic(); \/\/ Stop background music if playing\n    isPaused = false; \/\/ Reset pause state\n    enableAllButtons(); \/\/ Ensure all buttons are enabled\n    document.getElementById('jk-startButton').disabled = false; \/\/ Enable start button\n    document.getElementById('jk-startButton').style.cursor = 'pointer'; \/\/ Set cursor for start button\n}\n\nfunction updateScoreDisplay() {\n    const scoreDisplay = document.getElementById('jk-scoreDisplay');\n    scoreDisplay.innerText = `\uc810\uc218: ${correctAnswers}\/${questionCount}`;\n}\n\ndocument.addEventListener('fullscreenchange', () => {\n    const fullscreenButton = document.getElementById('jk-fullscreenButton');\n    if (!document.fullscreenElement) {\n        fullscreenButton.innerText = '\uc804\uccb4 \ud654\uba74';\n        fullscreenButton.classList.remove('jk-hide');\n    } else {\n        fullscreenButton.classList.add('jk-hide');\n    }\n});\n\nfunction toggleFullscreen() {\n    const container = document.getElementById('jk-gameBoardContainer');\n    \n    if (!document.fullscreenElement) {\n        container.requestFullscreen().catch(err => {\n            alert(`Error attempting to enable full-screen mode: ${err.message}`);\n        });\n    } else {\n        document.exitFullscreen();\n    }\n}\n\nfunction togglePause() {\n    isPaused = !isPaused;\n    const pauseButton = document.getElementById('jk-pauseButton');\n    pauseButton.innerText = isPaused ? '\u25b6' : '\u23f8';\n\n    \/\/ \uc74c\uc545\uacfc \ud0c0\uc774\uba38\ub97c \ub3d9\uae30\ud654\n    togglePauseBackgroundMusic();\n    \n    if (isPaused) {\n        clearInterval(timer);\n        disableAllButtons();\n        pauseButton.disabled = false; \/\/ Pause button remains enabled to allow resuming\n        pauseButton.style.cursor = 'pointer';\n    } else {\n        enableAllButtons();\n        timer = setInterval(() => updateTimer(document.getElementById('jk-timerValue')), 1000);\n    }\n}\n\nfunction disableAllButtons() {\n    const buttons = document.querySelectorAll('button');\n    buttons.forEach(button => {\n        button.disabled = true;\n        button.style.cursor = 'default';\n    });\n}\n\nfunction enableAllButtons() {\n    const buttons = document.querySelectorAll('button');\n    buttons.forEach(button => {\n        button.disabled = false;\n        button.style.cursor = 'pointer';\n    });\n    \/\/ \uc7ac\uac1c \uc2dc \uc124\uc815 \ubc84\ud2bc\uc740 \uacc4\uc18d \ube44\ud65c\uc131\ud654 \uc0c1\ud0dc \uc720\uc9c0\n    document.getElementById('jk-startButton').disabled = true;\n    document.getElementById('jk-fullscreenButton').disabled = false;\n    document.getElementById('jk-pauseButton').disabled = false;\n    document.getElementById('jk-restartButton').disabled = false;\n}\n\ndocument.getElementById('jk-startButton').addEventListener('click', startGame);\ndocument.getElementById('jk-fullscreenButton').addEventListener('click', toggleFullscreen);\ndocument.getElementById('jk-pauseButton').addEventListener('click', togglePause);\ndocument.getElementById('jk-restartButton').addEventListener('click', resetGame);\n\n<\/script>\n\n\n\n<br><br>\n<div style=\"\n  max-width: 800px;\n  margin: auto;\n  font-family: 'Arial', sans-serif;\n  line-height: 1.8;\n  font-size: 1.1em;\n  background: #fff8dc;\n  padding: 20px;\n  border-radius: 10px;\n  border: 2px solid #ccc;\n\">\n  <h2 style=\"text-align: center;\">\ud83e\udde0 \ub3c4\ub4ec\ub3cc \ud55c\uc790 \ud034\uc988 \uac8c\uc784 \uc548\ub0b4<\/h2>\n\n  <p>\n    <strong>\ub3c4\ub4ec\ub3cc \ud55c\uc790 \ud034\uc988 \uac8c\uc784<\/strong>\uc740 \ucd08\ub4f1\ud559\uc0dd\ubd80\ud130 \uc911\ud559\uc0dd\uae4c\uc9c0, \ub204\uad6c\ub098 \uc27d\uace0 \uc7ac\ubbf8\uc788\uac8c\n    \ud55c\uc790 \ub73b\uc744 \uc775\ud790 \uc218 \uc788\ub3c4\ub85d \uad6c\uc131\ub41c <strong>\uc120\ud0dd\ud615 \ud034\uc988 \uac8c\uc784<\/strong>\uc785\ub2c8\ub2e4.<br>\uc774 \ud398\uc774\uc9c0\ub294 \uc544\uc774\ub4e4\uc744 \uc704\ud55c \uc218\uc5c5\uc6a9 \ud65c\ub3d9\uc73c\ub85c \uad6c\uc131\ub418\uc5b4, \ub178\ud2b8\ubd81\uc774\ub098 \ud0dc\ube14\ub9bf\uc5d0\uc11c \ucd5c\uc801\uc758 \ud654\uba74\uc73c\ub85c \uc2e4\ud589\ub429\ub2c8\ub2e4. \uac8c\uc784 \uc2dc\uc791 \uc804 <strong>\uc804\uccb4\ud654\uba74 \ubc84\ud2bc<\/strong>\uc744 \ub204\ub974\uc138\uc694.\n  <\/p>\n\n  <hr>\n\n  <h3>\ud83c\udfae \uac8c\uc784 \ubc29\ubc95<\/h3>\n  <ol>\n    <li><strong>\ud55c\uc790 \ub4f1\uae09<\/strong>\uc744 \uc120\ud0dd\ud558\uc138\uc694.<br>(\uc7a5\uc6d0 \uc9008\uae09, 8\uae09, \uc9007\uae09, 7\uae09 \ub4f1)<\/li>\n    <li><strong>\ucd9c\uc81c\ud560 \ubb38\uc81c \uc218<\/strong>\uc640 <strong>\ubb38\uc81c\ub2f9 \uc81c\ud55c \uc2dc\uac04<\/strong>\uc744 \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n    <li><strong>\u300c\uc2dc\uc791\u300d \ubc84\ud2bc<\/strong>\uc744 \ub20c\ub7ec \uac8c\uc784\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/li>\n    <li>\n      \ud654\uba74\uc5d0 \uc81c\uc2dc\ub41c <strong>\ud55c\uc790<\/strong>\ub97c \ubcf4\uace0,\n      \ub73b\uc744 \uace0\ub974\ub294 <strong>4\uc9c0\uc120\ub2e4\ud615<\/strong> \ud034\uc988\ub97c \ud489\ub2c8\ub2e4.\n    <\/li>\n    <li>\uc815\ub2f5\uc744 \ub9de\ud788\uba74 \uc810\uc218\uac00 \uc62c\ub77c\uac00\uba70, \ud6a8\uacfc\uc74c\uc774 \uc7ac\uc0dd\ub429\ub2c8\ub2e4.<\/li>\n    <li>\ubaa8\ub4e0 \ubb38\uc81c\ub97c \ud480\uba74 <strong>\ucd5c\uc885 \uc810\uc218<\/strong>\uc640 <strong>\uc18c\uc694 \uc2dc\uac04<\/strong>\uc774 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/li>\n  <\/ol>\n\n  <hr>\n\n  <h3>\ud83d\udee0\ufe0f \uc8fc\uc694 \uae30\ub2a5<\/h3>\n  <ul>\n    <li>\u2705 \ubb38\uc81c \uc218 &amp; \uc81c\ud55c \uc2dc\uac04 \uc790\uc720 \uc124\uc815<\/li>\n    <li>\ud83c\udfb5 <strong>\uc790\ub3d9 \ubc30\uacbd \uc74c\uc545<\/strong> \uc7ac\uc0dd (\ubb34\uc791\uc704 \uc120\ud0dd)<\/li>\n    <li>\ud83d\udd0a \uc815\ub2f5\/\uc624\ub2f5 <strong>\ud6a8\uacfc\uc74c<\/strong> \uc9c0\uc6d0<\/li>\n    <li>\u23f8 <strong>\uc77c\uc2dc\uc815\uc9c0<\/strong> \uae30\ub2a5 \ud3ec\ud568 (\uc74c\uc545\ub3c4 \ud568\uaed8 \uba48\ucda4)<\/li>\n    <li>\ud83d\udda5 <strong>\uc804\uccb4 \ud654\uba74<\/strong> \uc804\ud658 \uac00\ub2a5<\/li>\n    <li>\ud83d\udd04 <strong>\ub2e4\uc2dc \uc2dc\uc791<\/strong> \ubc84\ud2bc\uc73c\ub85c \ubc18\ubcf5 \ud559\uc2b5 \uac00\ub2a5<\/li>\n  <\/ul>\n\n  <hr>\n\n  <h3>\ud83d\udccc \ucc38\uace0 \uc0ac\ud56d<\/h3>\n  <ul>\n    <li>\ubaa8\ub4e0 \ubb38\uc81c\ub294 <strong>4\uac1c\uc758 \uc120\ud0dd\uc9c0<\/strong> \uc911 \ud558\ub098\ub97c \uace0\ub974\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4.<\/li>\n    <li><strong>\uc790\ub3d9 \uc815\ub2f5 \ud310\ubcc4<\/strong> \ubc0f <strong>\uc2dc\uac04 \ucd08\uacfc \uc2dc \uc815\ub2f5 \uacf5\uac1c<\/strong> \uae30\ub2a5 \ud3ec\ud568<\/li>\n  <\/ul>\n\n  <p style=\"text-align: center; font-size: 1.2em; margin-top: 30px;\">\n    <strong>\ud83c\udf89 \ud55c\uc790 \uc2e4\ub825\uc744 \ud0a4\uc6b0\ub294 \uc990\uac70\uc6b4 \uc2dc\uac04!<br>\uc9c0\uae08 \ub3c4\uc804\ud574\ubcf4\uc138\uc694!<\/strong>\n  <\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\uba87 \ubb38\uc81c\ub97c \ucd9c\uc81c\ud560\uae4c\uc694? \ubb38\uc81c\ub2f9 \uc81c\ud55c \uc2dc\uac04(\ucd08): \uc7a5\uc6d0 \uc9008\uae09 \uc7a5\uc6d0 8\uae09 \uc7a5\uc6d0 \uc9007\uae09 \uc7a5\uc6d0 7\uae09 \uc7a5\uc6d0 \uc9006\uae09 \uc7a5\uc6d0 6\uae09 \uc2dc\uc791 \u23f8 \ub0a8\uc740 \ubb38\uc81c \uc218: 15 \uc810\uc218: 0\/15 \ub0a8\uc740 \uc2dc\uac04: 5\ucd08 \uc9c8\ubb38\uc774 \uc5ec\uae30\uc5d0 \ud45c\uc2dc\ub429\ub2c8\ub2e4. \ucd5c\uc885 \uc810\uc218: 0\/15 \ucd1d \uc18c\uc694 \uc2dc\uac04: 0\ucd08 \ub2e4\uc2dc \uc2dc\uc791\ud558\uae30 \uc804\uccb4 \ud654\uba74 \ud83e\udde0 \ub3c4\ub4ec\ub3cc \ud55c\uc790 \ud034\uc988 \uac8c\uc784 \uc548\ub0b4 \ub3c4\ub4ec\ub3cc \ud55c\uc790 \ud034\uc988 \uac8c\uc784\uc740 \ucd08\ub4f1\ud559\uc0dd\ubd80\ud130 \uc911\ud559\uc0dd\uae4c\uc9c0, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1207,"comment_status":"open","ping_status":"open","sticky":true,"template":"","format":"standard","meta":[],"categories":[12],"tags":[],"_links":{"self":[{"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1201"}],"collection":[{"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/comments?post=1201"}],"version-history":[{"count":0,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1201\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/1207"}],"wp:attachment":[{"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=1201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=1201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=1201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}