{"id":792,"date":"2025-06-16T09:12:15","date_gmt":"2025-06-16T00:12:15","guid":{"rendered":"https:\/\/dod77.synology.me\/wordpress\/?p=792"},"modified":"2025-07-20T06:19:40","modified_gmt":"2025-07-19T21:19:40","slug":"%ed%95%9c%ec%9e%90%ea%b5%90%ec%9c%a1-%ec%a7%84%ed%9d%a5%ed%9a%8c678%ea%b8%89%eb%b3%b5%ec%8a%b5-%ed%80%b4%ec%a6%88-%ea%b2%8c%ec%9e%84","status":"publish","type":"post","link":"https:\/\/dod77.synology.me\/wordpress\/792\/","title":{"rendered":"\ud55c\uc790\uad50\uc721 \uc9c4\ud765\ud68c 8\uae09, 7\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-jinheung8\" name=\"jk-data\" value=\"jinheung8\" checked=\"\">\n                    <label for=\"jk-jinheung8\">\uc9c4\ud765\ud68c 8\uae09<\/label>\n                <\/div>\n                <div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jinheung7\" name=\"jk-data\" value=\"jinheung7\">\n                    <label for=\"jk-jinheung7\">\uc9c4\ud765\ud68c 7\uae09<\/label>\n                <\/div>\n\t\t\t\t<div class=\"jk-checkbox-item\">\n                    <input type=\"checkbox\" id=\"jk-jinheung6\" name=\"jk-data\" value=\"jinheung6\">\n                    <label for=\"jk-jinheung6\">\uc9c4\ud765\ud68c 6\uae09<\/label>\n                <\/div>\n\t\t\t<\/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-jinheung8').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jinheung8.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 jinheung8 data:', error);\n        }\n    }\n    if (document.getElementById('jk-jinheung7').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jinheung7.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 jinheung7 data:', error);\n        }\n    }\n\tif (document.getElementById('jk-jinheung6').checked) {\n        try {\n            const response = await fetch('https:\/\/dod77.synology.me\/wordpress\/wp-content\/themes\/oceanwp\/customgamecode\/gamedata\/jinheung6.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 jinheung6 data:', error);\n        }\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","protected":false},"excerpt":{"rendered":"<p>\uba87 \ubb38\uc81c\ub97c \ucd9c\uc81c\ud560\uae4c\uc694? \ubb38\uc81c\ub2f9 \uc81c\ud55c \uc2dc\uac04(\ucd08): \uc9c4\ud765\ud68c 8\uae09 \uc9c4\ud765\ud68c 7\uae09 \uc9c4\ud765\ud68c 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<\/p>\n","protected":false},"author":1,"featured_media":1221,"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\/792"}],"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=792"}],"version-history":[{"count":0,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/792\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/1221"}],"wp:attachment":[{"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dod77.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}