{"id":12,"date":"2025-06-07T21:57:59","date_gmt":"2025-06-07T21:57:59","guid":{"rendered":"https:\/\/mgwtech.pt\/ama\/?page_id=12"},"modified":"2025-06-09T00:16:21","modified_gmt":"2025-06-09T00:16:21","slug":"elementor-12","status":"publish","type":"page","link":"https:\/\/mgwtech.pt\/ama\/","title":{"rendered":"quiz"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12\" class=\"elementor elementor-12\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6a3765e e-grid e-con-boxed e-con e-parent\" data-id=\"6a3765e\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a1b9dbb e-flex e-con-boxed e-con e-child\" data-id=\"a1b9dbb\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-bec98e9 e-con-full e-flex e-con e-child\" data-id=\"bec98e9\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f569f96 elementor-widget elementor-widget-image\" data-id=\"f569f96\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"202\" src=\"https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logo_AMA_branco_grande-1024x258.png\" class=\"attachment-large size-large wp-image-46\" alt=\"\" srcset=\"https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logo_AMA_branco_grande-1024x258.png 1024w, https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logo_AMA_branco_grande-300x76.png 300w, https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logo_AMA_branco_grande-768x194.png 768w, https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logo_AMA_branco_grande-1536x387.png 1536w, https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logo_AMA_branco_grande.png 1754w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-eb3935e e-con-full e-flex e-con e-child\" data-id=\"eb3935e\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ca39e86 elementor-widget elementor-widget-image\" data-id=\"ca39e86\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"311\" src=\"https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logotipo__gov_branco.png\" class=\"attachment-large size-large wp-image-47\" alt=\"\" srcset=\"https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logotipo__gov_branco.png 900w, https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logotipo__gov_branco-300x117.png 300w, https:\/\/mgwtech.pt\/ama\/wp-content\/uploads\/2025\/06\/Logotipo__gov_branco-768x299.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-04ed6d5 elementor-widget elementor-widget-shortcode\" data-id=\"04ed6d5\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\r\nbody { background-color: #002b81; color: white; font-family: sans-serif; }\r\n#quiz-app { max-width: 1024px; margin: 2rem auto; padding: 1rem; }\r\n#quiz-start { background-color: #1ca2fb; padding: 2rem; border-radius: 20px; text-align: center; }\r\n#quiz-start h2, #quiz-start p { color: white; }\r\n#quiz-start button { background-color: #0044cc; color: white; border: none; padding: 1rem 2rem; font-size: 1.5rem; margin: 1rem; border-radius: 12px; cursor: pointer; }\r\n.quiz-card { background-color: #1ca2fb; padding: 2rem; border-radius: 20px; text-align: center; color: white; font-size: 1.5rem; }\r\n.quiz-options button { background-color: white; color: #002b81; margin: 0.5rem 0; border-radius: 10px; width: 100%; padding: 1.2rem; font-size: 1.3rem; border: none; cursor: pointer; word-wrap: break-word; white-space: normal; }\r\n.next-btn { margin-top: 2rem; background: none; color: white; border: 2px solid white; padding: 0.8rem 2rem; font-size: 1.3rem; border-radius: 10px; cursor: pointer; }\r\n.next-btn:hover { background: white; color: #002b81; }\r\nprogress { width: 100%; height: 30px; appearance: none; border-radius: 10px; overflow: hidden; }\r\nprogress::-webkit-progress-bar { background-color: #ffffff; }\r\nprogress::-webkit-progress-value { background-color: #002b81; }\r\n#feedback-popup {\r\n    position: fixed;\r\n    top: 50%;\r\n    left: 50%;\r\n    transform: translate(-50%, -50%);\r\n    font-size: 2rem;\r\n    background: rgba(0,0,0,0.8);\r\n    color: white;\r\n    padding: 1rem 2rem;\r\n    border-radius: 20px;\r\n    z-index: 9999;\r\n    display: none;\r\n    pointer-events: none;\r\n}\r\n.score-card {\r\n    display: flex;\r\n    justify-content: space-around;\r\n    margin: 1rem 0;\r\n    font-size: 1.5rem;\r\n    background: rgba(255,255,255,0.1);\r\n    padding: 1rem;\r\n    border-radius: 10px;\r\n}\r\n.winner { font-size: 2rem; margin-top: 1rem; }\r\n<\/style>\r\n<div id=\"quiz-app\">\r\n    <div id=\"quiz-start\">\r\n        <h2>Bem-vindo(a)!<\/h2>\r\n        <p>Escolhe o teu lado:<\/p>\r\n        <button id=\"btn1\">Sou o Jogador 1<\/button>\r\n        <button id=\"btn2\">Sou o Jogador 2<\/button>\r\n    <\/div>\r\n    <div id=\"quiz-container\" style=\"display:none;\"><\/div>\r\n<\/div>\r\n<div id=\"feedback-popup\"><\/div>\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\nconst sessaoId = new URLSearchParams(window.location.search).get('sessao') || 'default';\r\nconst quizData = [\r\n  {\r\n    pergunta: \"A Olivia Rodrigo canta \u201cI got my driver's license last week\u2026\u201d. Mas e tu, onde \u00e9 que guardas a tua carta de condu\u00e7\u00e3o?\",\r\n    opcoes: [\r\n      \"No fundo da mochila, entre um pacote de pastilhas e uns \u00f3culos de sol\",\r\n      \"Num bolso secreto que nunca encontras \u00e0 primeira\",\r\n      \"Na app gov.pt, pronta a mostrar se a pol\u00edcia te mandar parar\"\r\n    ],\r\n    correta: 2\r\n  },\r\n  {\r\n    pergunta: \"Muse canta \u201cResistance\u201d, mas quando o assunto \u00e9 resolver burocracias, a tua resist\u00eancia tem limites. Como \u00e9 que o gov.pt te ajuda a relaxar?\",\r\n    opcoes: [\r\n      \"Fazendo-te esperar horas em filas enormes\",\r\n      \"Permitindo que trates dos teus documentos e servi\u00e7os p\u00fablicos a qualquer hora, em qualquer lugar\",\r\n      \"Dando-te um livro para ler enquanto esperas\"\r\n    ],\r\n    correta: 1\r\n  },\r\n  {\r\n    pergunta: \"Nine Inch Nails t\u00eam nome de ferramenta, mas\u2026 Qual \u00e9 a verdadeira \u201cferramenta\u201d que n\u00e3o pode faltar no teu kit digital?\",\r\n    opcoes: [\r\n      \"A Chave M\u00f3vel Digital: para resolver tudo online, r\u00e1pido e f\u00e1cil\",\r\n      \"O agrafador da escola ou do trabalho\",\r\n      \"Uma chave inglesa\"\r\n    ],\r\n    correta: 0\r\n  },\r\n  {\r\n    pergunta: \"Est\u00e1s a ver o concerto de Justice, e de repente lembras-te que tens de renovar o Cart\u00e3o de Cidad\u00e3o. O que fazes?\",\r\n    opcoes: [\r\n      \"Entras em p\u00e2nico e perdes o melhor do festival\",\r\n      \"Ligas \u00e0quele amigo que resolve sempre tudo\",\r\n      \"Descarregas a app gov.pt, entras com a Chave M\u00f3vel Digital e resolves tudo no intervalo do concerto\"\r\n    ],\r\n    correta: 2\r\n  },\r\n  {\r\n    pergunta: \"A Girl in Red tem letras que nos entendem. Tal como\u2026\",\r\n    opcoes: [\r\n      \"A assistente virtual do portal gov.pt (e n\u00e3o te julga)\",\r\n      \"O portal gov.pt, que te deixa pedir documentos, marcar servi\u00e7os e alterar dados sem complica\u00e7\u00f5es\",\r\n      \"A app gov.pt, que te permite ter mais de 20 documentos de identifica\u00e7\u00e3o no telem\u00f3vel\",\r\n      \"Todas as anteriores\"\r\n    ],\r\n    correta: 3\r\n  },\r\n  {\r\n    pergunta: \"Est\u00e1s a vibrar com os Foster the People, mas precisas de aceder a um documento importante que deixaste em casa. O que fazes para teres acesso imediato?\",\r\n    opcoes: [\r\n      \"Pedes a algu\u00e9m para ir a casa buscar\",\r\n      \"Abres a app gov.pt no telem\u00f3vel, onde tens os teus documentos digitais\",\r\n      \"Cantas a \u201cPumped Up Kicks\u201d e aceitas o destino\"\r\n    ],\r\n    correta: 1\r\n  },\r\n  {\r\n    pergunta: \"Anyma cria sons eletr\u00f3nicos futuristas e no gov.pt a tecnologia tamb\u00e9m \u00e9 de outro n\u00edvel. Qual destas fun\u00e7\u00f5es te permite aceder a mais de 20 documentos oficiais no telem\u00f3vel?\",\r\n    opcoes: [\r\n      \"A mem\u00f3ria do telem\u00f3vel, cheia de selfies\",\r\n      \"A app gov.pt, que junta tudo num s\u00f3 lugar com seguran\u00e7a\",\r\n      \"Um pen drive antigo que nem sabes onde est\u00e1\"\r\n    ],\r\n    correta: 1\r\n  },\r\n  {\r\n    pergunta: \"Muse canta \u201cPlug In Baby\u201d, mas tu j\u00e1 sabes que a verdadeira \u201cplug-in\u201d para a tua vida digital \u00e9\u2026\",\r\n    opcoes: [\r\n      \"O carregador do telem\u00f3vel (sempre na mala)\",\r\n      \"A Chave M\u00f3vel Digital para poderes ligar-te aos servi\u00e7os p\u00fablicos sem complica\u00e7\u00f5es\",\r\n      \"O cabo USB do teu amigo que nunca funciona\"\r\n    ],\r\n    correta: 1\r\n  },\r\n  {\r\n    pergunta: \"A \u201cBeautiful Things\u201d do Benson Boone \u00e9 sobre as pequenas maravilhas da vida. Que beautiful things podes encontrar no portal gov.pt?\",\r\n    opcoes: [\r\n      \"A possibilidade de jovens entre os 15 e os 18 anos subscreverem jornais e revistas em formato digital\",\r\n      \"A op\u00e7\u00e3o de atualizar a morada do Cart\u00e3o de Cidad\u00e3o (sim, at\u00e9 aquela casa nova onde ainda nem montaste o sof\u00e1)\",\r\n      \"A ativa\u00e7\u00e3o da Chave M\u00f3vel Digital para entrares no universo dos servi\u00e7os p\u00fablicos digitais\",\r\n      \"Todas as anteriores - o gov.pt \u00e9 tipo um backstage VIP para a tua vida digital\"\r\n    ],\r\n    correta: 3\r\n  },\r\n  {\r\n    pergunta: \"Em \u201cRan\u201d, os Future Islands falam de fugir e correr. Mas no festival, quando precisas de documentos, o que fazes para n\u00e3o andar a correr atr\u00e1s do preju\u00edzo?\",\r\n    opcoes: [\r\n      \"Usas a app gov.pt e resolves tudo no telem\u00f3vel, sem sair do lugar\",\r\n      \"Usas a lanterna do telem\u00f3vel para encontrar os documentos na carteira\",\r\n      \"D\u00e1s uma vista de olhos naquela conversa do WhatsApp onde falas contigo mesmo na esperan\u00e7a de teres enviado uma c\u00f3pia para l\u00e1\"\r\n    ],\r\n    correta: 0\r\n  }\r\n];\r\nlet index = 0, score = 0, startTime = 0, player = null, polling = null;\r\ndocument.getElementById('btn1').onclick = () => loginPlayer(1);\r\ndocument.getElementById('btn2').onclick = () => loginPlayer(2);\r\nfunction loginPlayer(n) {\r\n    player = n;\r\n    index = 0;\r\n    score = 0;\r\n    startTime = Date.now();\r\n    document.getElementById('quiz-start').style.display = 'none';\r\n    document.getElementById('quiz-container').style.display = 'block';\r\n    showQuestion();\r\n}\r\nfunction showQuestion() {\r\n    if (index >= quizData.length) return endQuiz();\r\n    const q = quizData[index];\r\n    const html = `\r\n        <div class=\"quiz-card\">\r\n            <strong>\ud83c\udfae Jogador ${player}<\/strong>\r\n            <progress value=\"${index}\" max=\"${quizData.length}\"><\/progress>\r\n            <p>Pergunta ${index + 1} de ${quizData.length}<\/p>\r\n            <h3>${q.pergunta}<\/h3>\r\n            <ul class=\"quiz-options\" style=\"list-style:none; padding:0;\">\r\n                ${q.opcoes.map((op, i) => `<li style=\"margin-bottom:1rem;\"><button onclick=\"responder(${i})\">${op}<\/button><\/li>`).join('')}\r\n            <\/ul>\r\n            <div id=\"next-btn-container\"><\/div>\r\n        <\/div>`;\r\n    document.getElementById(\"quiz-container\").innerHTML = html;\r\n}\r\nwindow.responder = function(i) {\r\n    const correta = quizData[index].correta;\r\n    const botoes = document.querySelectorAll(\"#quiz-container button\");\r\n    const feedback = document.getElementById(\"feedback-popup\");\r\n    botoes.forEach((btn, idx) => {\r\n        btn.disabled = true;\r\n        if (idx === correta) btn.style.backgroundColor = '#4CAF50';\r\n        else if (idx === i) btn.style.backgroundColor = '#f44336';\r\n    });\r\n    feedback.innerText = i === correta ? \"\u2714\ufe0f Acertaste!\" : \"\u2716\ufe0f Erraste!\";\r\n    feedback.style.backgroundColor = i === correta ? \"green\" : \"red\";\r\n    feedback.style.display = \"block\";\r\n    setTimeout(() => { feedback.style.display = \"none\"; }, 1000);\r\n    if (i === correta) score++;\r\n    const next = document.createElement(\"button\");\r\n    next.className = \"next-btn\";\r\n    next.innerText = \"Avan\u00e7ar\";\r\n    next.onclick = () => {\r\n        index++;\r\n        showQuestion();\r\n    };\r\n    document.getElementById(\"next-btn-container\").appendChild(next);\r\n};\r\nfunction endQuiz() {\r\n    const totalTime = Math.floor((Date.now() - startTime) \/ 1000);\r\n    document.getElementById(\"quiz-container\").innerHTML = `\r\n      <div class=\"quiz-card\">\r\n        <h2>\u2705 Respostas enviadas<\/h2>\r\n        <p>\ud83e\uddd1\u200d\ud83d\udcbb Jogador ${player}<\/p>\r\n        <p>\ud83c\udfaf Pontua\u00e7\u00e3o: ${score}<\/p>\r\n        <p>\u23f1\ufe0f Tempo: ${totalTime} segundos<\/p>\r\n        <h3>Aguardando outro jogador terminar...<\/h3>\r\n        <button class=\"next-btn\" onclick=\"resetGame()\">Terminar sess\u00e3o<\/button>\r\n      <\/div>`;\r\n    fetch(`?quiz_api=save&sessao=${sessaoId}`, {\r\n        method: 'POST',\r\n        headers: {'Content-Type': 'application\/x-www-form-urlencoded'},\r\n        body: new URLSearchParams({ player, score, time: totalTime })\r\n    })\r\n    .then(res => res.json())\r\n    .then(() => startPolling())\r\n    .catch(err => {\r\n        document.getElementById(\"quiz-container\").innerHTML = `<div class=\"quiz-card\"><h2>Erro<\/h2><p>${err.message}<\/p><\/div>`;\r\n    });\r\n}\r\nfunction startPolling() {\r\n    polling = setInterval(() => {\r\n        fetch(`?quiz_api=get&sessao=${sessaoId}`)\r\n            .then(res => res.json())\r\n            .then(showResultsIfBothReady);\r\n    }, 3000);\r\n}\r\nfunction showResultsIfBothReady(results) {\r\n    if (!results['1'] || !results['2']) return;\r\n    clearInterval(polling);\r\n    const p1 = results['1'];\r\n    const p2 = results['2'];\r\n    let winner = '-';\r\n    if (p1.score > p2.score) winner = 1;\r\n    else if (p2.score > p1.score) winner = 2;\r\n    else winner = p1.time < p2.time ? 1 : 2;\r\n    document.getElementById(\"quiz-container\").innerHTML = `\r\n        <div class=\"quiz-card\">\r\n            <h2>\ud83c\udfc1 Resultado Final<\/h2>\r\n            <div class=\"score-card\">\r\n                <div><strong>Jogador 1<\/strong><br>${p1.score} ponto(s)<br>\u23f1\ufe0f ${p1.time}s<\/div>\r\n                <div><strong>Jogador 2<\/strong><br>${p2.score} ponto(s)<br>\u23f1\ufe0f ${p2.time}s<\/div>\r\n            <\/div>\r\n            <h3 class=\"winner\">\ud83c\udfc6 Vencedor: Jogador ${winner}<\/h3>\r\n            <button class=\"next-btn\" onclick=\"resetGame()\">Terminar sess\u00e3o<\/button>\r\n        <\/div>`;\r\n}\r\nwindow.resetGame = function() {\r\n    fetch(`?quiz_api=reset&sessao=${sessaoId}`).then(() => location.reload());\r\n};\r\n});\r\n<\/script>\r\n\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"pagelayer_contact_templates":[],"_pagelayer_content":"","footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":40,"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":66,"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/pages\/12\/revisions\/66"}],"wp:attachment":[{"href":"https:\/\/mgwtech.pt\/ama\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}