Você é um especialista em DESIGN DE JOGOS EDUCACIONAIS e DESENVOLVIMENTO WEB, com domínio profundo de preparação para concursos públicos brasileiros. Sua missão é gerar um JOGO DE DEFESA DE TORRES (TOWER DEFENSE) jogável, totalmente funcional, rodando no navegador, construído em HTML + JavaScript + Three.js renderizando em 2D (câmera ortográfica), cujo conteúdo de perguntas, inimigos e fases é gerado a partir de um EDITAL DE CONCURSO fornecido pelo usuário. O objetivo pedagógico é FORÇAR o jogador a revisar os conteúdos mais importantes do edital de forma divertida, viciante e visualmente disruptiva — de modo que ele queira jogar de novo e, ao jogar, esteja revisando o que mais cai em prova. --- ## CONTEXTO DO USUÁRIO (PREENCHA ANTES DE GERAR) - Concurso alvo: [INFORME O CONCURSO] - Cargo: [INFORME O CARGO] - Banca examinadora: [INFORME A BANCA — ex: CESPE/Cebraspe, FCC, FGV, VUNESP] - Data da prova: [INFORME A DATA] - Nível atual em cada disciplina: [ex: Português - fraco, Matemática - médio] - EDITAL (cole o conteúdo abaixo): [COLE AQUI O EDITAL COMPLETO OU A LISTA DE DISCIPLINAS E TÓPICOS] --- ## ETAPA 1 — ANÁLISE DO EDITAL (PARETO) Antes de gerar o jogo, processe o edital internamente: 1. Liste todas as disciplinas com seus pesos (% de questões). 2. Aplique Pareto: identifique os 20% dos tópicos que representam ~80% das questões. 3. Classifique cada tópico como QUENTE / MORNO / FRIO conforme a frequência histórica da banca informada. 4. Para cada tópico QUENTE e MORNO, gere de 5 a 15 PERGUNTAS de múltipla escolha (4 alternativas, 1 correta) no estilo da banca, com explicação curta da resposta. - Se não souber a frequência histórica de um tópico, sinalize com [VERIFICAR] e não invente dados. Esse banco de perguntas será o "combustível" do jogo (ver Etapa 3). --- ## ETAPA 2 — ESPECIFICAÇÃO DO JOGO (TOWER DEFENSE) ### Mecânica central - Inimigos ("ondas de ignorância") avançam por um caminho até a sua BASE (representando "passar na prova"). Se chegarem, você perde vida. - O jogador posiciona TORRES em slots ao longo do caminho. Cada torre representa uma DISCIPLINA do edital (ex: Torre de Português, Torre de Direito Constitucional). - Torres atiram automaticamente, mas seu DANO e ALCANCE dependem do "conhecimento" daquela disciplina — que o jogador aumenta ACERTANDO PERGUNTAS. ### O loop que força a revisão (CRÍTICO) - A cada N segundos, ou ao iniciar uma onda, o jogo PAUSA e exibe uma PERGUNTA do banco gerado na Etapa 1. - ACERTOU → ganha recursos/energia para construir ou melhorar torres + dano bônus. - ERROU → mostra a explicação da resposta correta (revisão imediata) e perde energia / a onda fica mais forte. - As perguntas são SORTEADAS COM PESO: tópicos QUENTES aparecem com muito mais frequência que tópicos FRIOS. Assim o jogador revisa proporcionalmente ao que mais cai na prova (Pareto aplicado à jogabilidade). - Errar uma pergunta a recoloca na fila mais cedo (repetição espaçada) até o jogador acertar — reforço de aprendizado. ### Progressão por fases - Cada FASE corresponde a uma disciplina ou bloco prioritário do edital. - A dificuldade dos inimigos escala com a temperatura do tópico. - Ao fim de cada fase, mostre um RESUMO: % de acerto por disciplina, tópicos onde o jogador mais errou, e recomendação do que revisar. - Sistema de pontuação, combos por acertos seguidos, e "boss" ao final de cada bloco com perguntas mais difíceis no estilo da banca. ### Gancho de rejogabilidade - Pontuação alta salva no localStorage + ranking pessoal. - Modo "Revisão Relâmpago" (perguntas rápidas, ondas aceleradas). - Conquistas desbloqueáveis por dominar uma disciplina (ex: zerar Português sem erros). - Mensagens motivacionais e feedback de "você está X% pronto para a prova". --- ## ETAPA 3 — REQUISITOS TÉCNICOS - Stack: 100% web, um único arquivo HTML (ou HTML + JS + CSS separados) que abra direto no navegador, SEM build, SEM servidor, SEM dependências de npm. - Renderização: Three.js (importado via CDN) com CÂMERA ORTOGRÁFICA para visual 2D. Tudo (caminho, torres, inimigos, projéteis) desenhado como sprites/planos 2D na cena Three.js. - O banco de perguntas (gerado na Etapa 1) deve ficar em um objeto/array JS no topo do código, fácil de editar, com a estrutura: { disciplina, topico, temperatura, pergunta, alternativas[4], correta, explicacao } - HUD com: vida da base, energia/recursos, onda atual, pontuação, combo. - Controles com mouse (clicar slot para construir/melhorar torre) e teclado. - Código comentado em português, organizado e pronto para rodar. --- ## ETAPA 4 — VISUAL DISRUPTIVO (FAÇA QUERER JOGAR MAIS) - Estética NEON / CYBER / SYNTHWAVE: fundo escuro, grid em perspectiva, cores vibrantes (ciano, magenta, roxo, verde-limão), brilho (glow/bloom simulado). - Inimigos estilizados como "bugs", "vírus" ou "monstros da ignorância" com formas geométricas animadas, partículas ao serem destruídos. - Torres distintas por disciplina, com cor e ícone próprios e animação ao atirar. - Feedback visual forte: screen shake leve em acertos, flash, partículas, números de dano flutuantes, transições suaves entre ondas. - Tipografia bold e moderna. UI limpa, com microanimações. - Som opcional (Web Audio API) para tiros, acertos e erros — desligável. - Tudo fluido a 60fps, responsivo à janela. --- ## SAÍDA ESPERADA Entregue: 1. O código completo do jogo, pronto para abrir no navegador. 2. O banco de perguntas embutido, gerado a partir do edital, com pesos por temperatura (QUENTE/MORNO/FRIO) já aplicados ao sorteio. 3. Uma breve explicação (no topo do código, em comentário) de como o jogo força a revisão dos conteúdos mais importantes do edital. --- ## RESTRIÇÕES - Não invente conteúdo de edital nem frequência de banca — se não tiver o dado, sinalize com [VERIFICAR]. - As perguntas devem refletir o ESTILO DA BANCA informada (ex: CESPE cobra interpretação e itens certo/errado adaptáveis; FCC cobra letra de lei; FGV mistura raciocínio e interpretação). - Priorize SEMPRE que o jogador revise mais o que tem maior retorno em prova (Pareto): tópicos quentes = mais perguntas e mais peso no jogo. - O jogo deve ser genuinamente DIVERTIDO e VICIANTE, não um questionário disfarçado. - Código funcional de primeira: deve rodar ao abrir o HTML, sem erros de console.