{"id":3797,"date":"2024-08-29T00:15:32","date_gmt":"2024-08-29T03:15:32","guid":{"rendered":"https:\/\/matematicasaomiguel.com.br\/?page_id=3797"},"modified":"2024-09-24T22:25:40","modified_gmt":"2024-09-25T01:25:40","slug":"jogo-dos-15","status":"publish","type":"page","link":"https:\/\/matematicasaomiguel.com.br\/?page_id=3797","title":{"rendered":"JOGO DOS 15"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3797\" class=\"elementor elementor-3797\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e3c9d5 e-con-full e-flex e-con e-parent\" data-id=\"1e3c9d5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3a342dc elementor-fixed e-transform elementor-widget elementor-widget-html\" data-id=\"3a342dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;fixed&quot;,&quot;_transform_scale_effect_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1.1,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.9,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_mobile_extra&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0.9,&quot;sizes&quot;:[]},&quot;_transform_scale_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_scale_effect_widescreen&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"pt-BR\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Jogo dos Quinze<\/title>\r\n    \r\n    <style>\r\n        body {\r\n            font-family: Arial, sans-serif;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            height: 100vh;\r\n            background-color: #f4f4f4;\r\n            margin: 0;\r\n        }\r\n\r\n        .container {\r\n            text-align: center;\r\n        }\r\n\r\n        #puzzle {\r\n            display: grid;\r\n            grid-template-columns: repeat(4, 80px);\r\n            grid-gap: 2px;\r\n            margin-bottom: 10px;\r\n        }\r\n\r\n        .piece {\r\n            width: 80px;\r\n            height: 80px;\r\n            display: flex;\r\n            justify-content: center;\r\n            align-items: center;\r\n            background-color: #2f75ed;\r\n            color: white;\r\n            font-size: 24px;\r\n            font-weight: bold;\r\n            cursor: pointer;\r\n        }\r\n\r\n        #controls {\r\n            margin-top: 20px;\r\n        }\r\n\r\n        #timer {\r\n            margin-top: 10px;\r\n            font-size: 20px;\r\n            color: red;\r\n        }\r\n\r\n        .modal {\r\n            display: none;\r\n            position: fixed;\r\n            z-index: 1;\r\n            left: 0;\r\n            top: 0;\r\n            width: 80%;\r\n            height: 80%;\r\n            overflow: auto;\r\n            background-color: rgb(0,0,0);\r\n            background-color: rgba(0,0,0,0.4);\r\n            justify-content: center;\r\n            align-items: center;\r\n            text-align: center;\r\n        }\r\n\r\n        .modal-content {\r\n            background-color: #fefefe;\r\n            margin: 15% auto;\r\n            padding: 20px;\r\n            border: 1px solid #888;\r\n            width: 80%;\r\n            max-width: 400px;\r\n        }\r\n\r\n        .close {\r\n            color: #aaa;\r\n            float: right;\r\n            font-size: 28px;\r\n            font-weight: bold;\r\n        }\r\n\r\n        .close:hover,\r\n        .close:focus {\r\n            color: black;\r\n            text-decoration: none;\r\n            cursor: pointer;\r\n        .elementor-kit-25 button, .elementor-kit-25 input[type=\"button\"], .elementor-kit-25 input[type=\"submit\"], .elementor-kit-25 .elementor-button {\r\n        font-size: 16px;\r\n        line-height: 15px;\r\n        padding: 8px 9px 9px 9px;\r\n        margin: 20px;\r\n    }\r\n        }\r\n    <\/style>\r\n     <link rel=\"stylesheet\" href=\"styles.css\">\r\n<\/head>\r\n<body>\r\n     <a href=\"https:\/\/matematicasaomiguel.com.br\/\">\r\n\r\n        <button>Retornar<\/button>\r\n\r\n    <\/a>\r\n    <div class=\"container\">\r\n        <div id=\"puzzle\">\r\n            <!-- As pe\u00e7as numeradas ser\u00e3o geradas dinamicamente pelo JavaScript -->\r\n        <\/div>\r\n        <div id=\"controls\">\r\n            <button id=\"restartButton\">Reiniciar<\/button>\r\n            <button id=\"rulesButton\">Regras do Jogo<\/button>\r\n            <div id=\"timer\">Tempo: 150s<\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"rulesModal\" class=\"modal\">\r\n        <div class=\"modal-content\">\r\n            <span class=\"close\">&times;<\/span>\r\n            <h2>Regras do Jogo<\/h2>\r\n            <p>1. Movimentar os n\u00fameros entre o espa\u00e7o vazio at\u00e9 conseguir orden\u00e1-los dentro do tempo.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"gameOverModal\" class=\"modal\">\r\n        <div class=\"modal-content\">\r\n            <h2>Game Over<\/h2>\r\n            <p>Voc\u00ea n\u00e3o conseguiu ordenar os n\u00fameros a tempo.<\/p>\r\n            <button id=\"closeGameOverModal\">Fechar<\/button>\r\n        <\/div>\r\n    <\/div>\r\n    \r\n    <script>\r\n        const puzzleContainer = document.getElementById('puzzle');\r\n        const timerElement = document.getElementById('timer');\r\n        const restartButton = document.getElementById('restartButton');\r\n        const rulesButton = document.getElementById('rulesButton');\r\n        const rulesModal = document.getElementById('rulesModal');\r\n        const closeRulesModal = document.getElementsByClassName('close')[0];\r\n        const gameOverModal = document.getElementById('gameOverModal');\r\n        const closeGameOverModal = document.getElementById('closeGameOverModal');\r\n\r\n        let pieces = [];\r\n        let emptyIndex;\r\n        let timeLeft = 150;\r\n        let timer;\r\n\r\n        const createPieces = () => {\r\n            pieces = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, ''];\r\n            shuffle(pieces);\r\n            emptyIndex = pieces.indexOf('');\r\n            renderPuzzle();\r\n        };\r\n\r\n        const shuffle = (array) => {\r\n            for (let i = array.length - 1; i > 0; i--) {\r\n                const j = Math.floor(Math.random() * (i + 1));\r\n                [array[i], array[j]] = [array[j], array[i]];\r\n            }\r\n        };\r\n\r\n        const renderPuzzle = () => {\r\n            puzzleContainer.innerHTML = '';\r\n            pieces.forEach((piece, index) => {\r\n                const pieceElement = document.createElement('div');\r\n                pieceElement.classList.add('piece');\r\n                pieceElement.innerText = piece;\r\n                if (piece === '') {\r\n                    pieceElement.style.visibility = 'hidden'; \/\/ Esconde o espa\u00e7o vazio\r\n                }\r\n                pieceElement.addEventListener('click', () => movePiece(index));\r\n                puzzleContainer.appendChild(pieceElement);\r\n            });\r\n        };\r\n\r\n        const movePiece = (index) => {\r\n            if (canMove(index)) {\r\n                [pieces[emptyIndex], pieces[index]] = [pieces[index], pieces[emptyIndex]];\r\n                emptyIndex = index;\r\n                renderPuzzle();\r\n\r\n                if (isGameWon()) {\r\n                    clearInterval(timer);\r\n                    alert('Voc\u00ea venceu!');\r\n                }\r\n            }\r\n        };\r\n\r\n        const canMove = (index) => {\r\n            const row = Math.floor(index \/ 4);\r\n            const col = index % 4;\r\n            const emptyRow = Math.floor(emptyIndex \/ 4);\r\n            const emptyCol = emptyIndex % 4;\r\n\r\n            return (Math.abs(row - emptyRow) + Math.abs(col - emptyCol)) === 1;\r\n        };\r\n\r\n        const isGameWon = () => {\r\n            for (let i = 0; i < pieces.length - 1; i++) {\r\n                if (pieces[i] !== i + 1) return false;\r\n            }\r\n            return true;\r\n        };\r\n\r\n        const startTimer = () => {\r\n            timer = setInterval(() => {\r\n                timeLeft--;\r\n                timerElement.innerText = `Tempo: ${timeLeft}s`;\r\n\r\n                if (timeLeft <= 0) {\r\n                    clearInterval(timer);\r\n                    showGameOver();\r\n                }\r\n            }, 1000);\r\n        };\r\n\r\n        const showGameOver = () => {\r\n            gameOverModal.style.display = 'block';\r\n        };\r\n\r\n        restartButton.addEventListener('click', () => {\r\n            timeLeft = 150;\r\n            timerElement.innerText = `Tempo: 150s`;\r\n            clearInterval(timer);\r\n            createPieces();\r\n            startTimer();\r\n        });\r\n\r\n        rulesButton.addEventListener('click', () => {\r\n            rulesModal.style.display = 'block';\r\n        });\r\n\r\n        closeRulesModal.addEventListener('click', () => {\r\n            rulesModal.style.display = 'none';\r\n        });\r\n\r\n        closeGameOverModal.addEventListener('click', () => {\r\n            gameOverModal.style.display = 'none';\r\n            restartButton.click();\r\n        });\r\n\r\n        window.onclick = (event) => {\r\n            if (event.target == rulesModal) {\r\n                rulesModal.style.display = 'none';\r\n            }\r\n        };\r\n\r\n        createPieces();\r\n        startTimer();\r\n    <\/script>\r\n    <script src=\"script.js\"><\/script>\r\n  \r\n\r\n<\/body>\r\n\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Jogo dos Quinze Retornar Reiniciar Regras do Jogo Tempo: 150s &times; Regras do Jogo 1. Movimentar os n\u00fameros entre o [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-3797","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages\/3797","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3797"}],"version-history":[{"count":146,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages\/3797\/revisions"}],"predecessor-version":[{"id":5067,"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=\/wp\/v2\/pages\/3797\/revisions\/5067"}],"wp:attachment":[{"href":"https:\/\/matematicasaomiguel.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}