{"id":257,"date":"2026-08-16T21:12:40","date_gmt":"2026-08-16T21:12:40","guid":{"rendered":"https:\/\/eppaltamirano.com.mx\/?p=257"},"modified":"2026-08-18T10:16:44","modified_gmt":"2026-08-18T10:16:44","slug":"cohete-numerico-sumas","status":"publish","type":"post","link":"https:\/\/eppaltamirano.com.mx\/index.php\/2026\/08\/16\/cohete-numerico-sumas\/","title":{"rendered":"Juego 1\u00b0 Primaria | Matem\u00e1ticas | El Cohete Num\u00e9rico"},"content":{"rendered":"<h1 class=\"has-text-align-center has-link-color wp-elements-d6703031af5a64327806478c49ae42a3 wp-block-site-title has-text-color has-pale-cyan-blue-color\"><a href=\"https:\/\/eppaltamirano.com.mx\" target=\"_self\" rel=\"home\">Escuela Primaria Ignacio Altamirano<\/a><\/h1>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-align-center\">\u00a1Bienvenidos al Cohete M\u00e1gico! Abrochate tu cintur\u00f3n.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-3 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:120px\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<!-- ============================================================\n     EL COHETE NUM\u00c9RICO \u2014 Escuela Ignacio Altamirano\n     Juego de sumas para 1.\u00ba de Primaria (6 a\u00f1os)\n     INSTRUCCIONES: pega este bloque completo dentro de un bloque\n     [HTML personalizado] de Gutenberg. No requiere subir archivos\n     ni usar iframe. Todo el CSS y JS est\u00e1 encapsulado dentro de\n     #cohete-numerico-widget para no afectar el resto del sitio.\n     ============================================================ -->\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Baloo+2:wght@500;700;800&#038;family=Nunito:wght@600;700;800&#038;display=swap\" rel=\"stylesheet\">\n\n<div id=\"cohete-numerico-widget\">\n\n<style>\n  #cohete-numerico-widget{\n    --deep-space:#150a35;\n    --nebula-purple:#3a1c73;\n    --star-white:#fef6ff;\n    --rocket-orange:#ff8a3d;\n    --rocket-pink:#ff5da2;\n    --success-mint:#3ee6b0;\n    --warn-yellow:#ffd23f;\n    --planet1:#5b8dee;\n    --planet2:#ff8a3d;\n    --planet3:#a55bee;\n    --card-radius:28px;\n\n    position:relative;\n    max-width:600px;\n    margin:0 auto;\n    padding:24px;\n    border-radius:32px;\n    background:radial-gradient(ellipse at top, var(--nebula-purple), var(--deep-space) 70%);\n    font-family:'Nunito', sans-serif;\n    color:var(--star-white);\n    overflow:hidden;\n    box-sizing:border-box;\n  }\n  #cohete-numerico-widget *{box-sizing:border-box;}\n  #cohete-numerico-widget h1,\n  #cohete-numerico-widget p,\n  #cohete-numerico-widget ul,\n  #cohete-numerico-widget li{margin:0; padding:0;}\n\n  #cohete-numerico-widget .cnw-stars{\n    position:absolute;\n    inset:0;\n    z-index:0;\n    pointer-events:none;\n    border-radius:32px;\n    overflow:hidden;\n  }\n  #cohete-numerico-widget .cnw-star{\n    position:absolute;\n    background:var(--star-white);\n    border-radius:50%;\n    opacity:.8;\n    animation:cnw-twinkle 3s ease-in-out infinite;\n  }\n  @keyframes cnw-twinkle{\n    0%,100%{opacity:.25; transform:scale(.8);}\n    50%{opacity:1; transform:scale(1.15);}\n  }\n\n  #cohete-numerico-widget .cnw-screen{\n    position:relative;\n    z-index:1;\n    width:100%;\n    background:rgba(21,10,53,0.55);\n    border:2px solid rgba(255,255,255,0.12);\n    border-radius:24px;\n    padding:32px 24px;\n    text-align:center;\n    box-shadow:0 20px 60px rgba(0,0,0,0.45);\n    animation:cnw-fadeUp .5s ease;\n  }\n  @keyframes cnw-fadeUp{\n    from{opacity:0; transform:translateY(18px);}\n    to{opacity:1; transform:translateY(0);}\n  }\n\n  #cohete-numerico-widget .cnw-hidden{display:none !important;}\n\n  #cohete-numerico-widget h1.cnw-title{\n    font-family:'Baloo 2', sans-serif;\n    font-size:2rem;\n    margin:0 0 6px;\n    color:var(--warn-yellow);\n    text-shadow:0 3px 0 rgba(0,0,0,0.25);\n    line-height:1.2;\n  }\n\n  #cohete-numerico-widget .cnw-subtitle{\n    font-size:1.05rem;\n    opacity:.9;\n    margin-bottom:22px;\n    line-height:1.5;\n  }\n\n  #cohete-numerico-widget .cnw-rocket-emoji{\n    font-size:5rem;\n    display:block;\n    margin:6px 0 14px;\n    animation:cnw-float 3s ease-in-out infinite;\n  }\n  @keyframes cnw-float{\n    0%,100%{transform:translateY(0) rotate(-4deg);}\n    50%{transform:translateY(-14px) rotate(4deg);}\n  }\n\n  #cohete-numerico-widget input[type=\"text\"]{\n    width:100%;\n    font-family:'Nunito', sans-serif;\n    font-size:1.2rem;\n    padding:14px 18px;\n    border-radius:18px;\n    border:none;\n    outline:none;\n    margin-bottom:18px;\n    text-align:center;\n    background:var(--star-white);\n    color:var(--deep-space);\n    font-weight:700;\n  }\n\n  #cohete-numerico-widget .cnw-btn{\n    font-family:'Baloo 2', sans-serif;\n    font-size:1.15rem;\n    font-weight:700;\n    padding:16px 28px;\n    border:none;\n    border-radius:22px;\n    background:linear-gradient(135deg, var(--rocket-orange), var(--rocket-pink));\n    color:var(--star-white);\n    cursor:pointer;\n    box-shadow:0 8px 0 rgba(0,0,0,0.25);\n    transition:transform .12s ease, box-shadow .12s ease;\n    min-width:200px;\n  }\n  #cohete-numerico-widget .cnw-btn:active{\n    transform:translateY(6px);\n    box-shadow:0 2px 0 rgba(0,0,0,0.25);\n  }\n  #cohete-numerico-widget .cnw-btn:hover{filter:brightness(1.05);}\n  #cohete-numerico-widget .cnw-btn:disabled{opacity:.5; cursor:not-allowed;}\n\n  #cohete-numerico-widget .cnw-rules-list{\n    text-align:left;\n    list-style:none;\n    display:flex;\n    flex-direction:column;\n    gap:10px;\n    margin-bottom:22px;\n  }\n  #cohete-numerico-widget .cnw-rules-list li{\n    background:rgba(255,255,255,0.08);\n    padding:12px 16px;\n    border-radius:16px;\n    font-size:1.02rem;\n  }\n\n  #cohete-numerico-widget .cnw-hud{\n    display:flex;\n    justify-content:space-between;\n    align-items:center;\n    margin-bottom:18px;\n    font-family:'Baloo 2', sans-serif;\n    font-size:1.1rem;\n  }\n  #cohete-numerico-widget .cnw-hud-item{\n    display:flex;\n    align-items:center;\n    gap:6px;\n    background:rgba(255,255,255,0.08);\n    padding:8px 14px;\n    border-radius:16px;\n  }\n\n  #cohete-numerico-widget .cnw-progress-track{\n    width:100%;\n    height:14px;\n    background:rgba(255,255,255,0.15);\n    border-radius:10px;\n    margin-bottom:26px;\n    overflow:hidden;\n  }\n  #cohete-numerico-widget .cnw-progress-fill{\n    height:100%;\n    background:linear-gradient(90deg, var(--success-mint), var(--warn-yellow));\n    border-radius:10px;\n    transition:width .4s ease;\n  }\n\n  #cohete-numerico-widget .cnw-planet-badge{\n    font-size:2.6rem;\n    display:block;\n    margin-bottom:6px;\n  }\n\n  #cohete-numerico-widget .cnw-sum-card{\n    background:rgba(255,255,255,0.1);\n    border-radius:22px;\n    padding:24px 18px;\n    margin-bottom:22px;\n  }\n\n  #cohete-numerico-widget .cnw-sum-visual{\n    font-size:2.2rem;\n    letter-spacing:4px;\n    margin-bottom:8px;\n    line-height:1.3;\n  }\n\n  #cohete-numerico-widget .cnw-sum-equation{\n    font-family:'Baloo 2', sans-serif;\n    font-size:2.6rem;\n    font-weight:800;\n    color:var(--warn-yellow);\n  }\n\n  #cohete-numerico-widget .cnw-options{\n    display:grid;\n    grid-template-columns:repeat(3, 1fr);\n    gap:14px;\n    margin-bottom:8px;\n  }\n\n  #cohete-numerico-widget .cnw-option-btn{\n    font-family:'Baloo 2', sans-serif;\n    font-size:1.6rem;\n    font-weight:700;\n    padding:18px 0;\n    border:none;\n    border-radius:18px;\n    background:rgba(255,255,255,0.14);\n    color:var(--star-white);\n    cursor:pointer;\n    transition:transform .12s ease, background .2s ease;\n  }\n  #cohete-numerico-widget .cnw-option-btn:hover{transform:translateY(-3px); background:rgba(255,255,255,0.24);}\n  #cohete-numerico-widget .cnw-option-btn.cnw-correct{background:var(--success-mint); color:var(--deep-space);}\n  #cohete-numerico-widget .cnw-option-btn.cnw-incorrect{background:#ff5d5d;}\n\n  #cohete-numerico-widget .cnw-feedback{\n    min-height:34px;\n    font-family:'Baloo 2', sans-serif;\n    font-size:1.2rem;\n    margin-bottom:6px;\n  }\n  #cohete-numerico-widget .cnw-feedback.cnw-ok{color:var(--success-mint);}\n  #cohete-numerico-widget .cnw-feedback.cnw-bad{color:#ff9d9d;}\n\n  #cohete-numerico-widget .cnw-final-stars{\n    font-size:3rem;\n    margin:10px 0;\n  }\n\n  #cohete-numerico-widget .cnw-badge-final{\n    font-size:4.5rem;\n    display:block;\n    margin:12px 0;\n    animation:cnw-float 3s ease-in-out infinite;\n  }\n\n  #cohete-numerico-widget .cnw-confetti-piece{\n    position:absolute;\n    width:10px;\n    height:10px;\n    top:-10px;\n    border-radius:2px;\n    animation:cnw-fall linear forwards;\n    z-index:5;\n  }\n  @keyframes cnw-fall{\n    to{ transform:translateY(500px) rotate(360deg); opacity:0.3;}\n  }\n\n  @media (max-width:420px){\n    #cohete-numerico-widget .cnw-screen{padding:26px 18px;}\n    #cohete-numerico-widget h1.cnw-title{font-size:1.6rem;}\n    #cohete-numerico-widget .cnw-sum-equation{font-size:2.1rem;}\n    #cohete-numerico-widget .cnw-option-btn{font-size:1.35rem;}\n  }\n\n  @media (prefers-reduced-motion: reduce){\n    #cohete-numerico-widget *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}\n  }\n<\/style>\n\n<div class=\"cnw-stars\" id=\"cnw-stars\"><\/div>\n\n<!-- PORTADA -->\n<div class=\"cnw-screen\" id=\"cnw-screen-welcome\">\n  <h1 class=\"cnw-title\">Escuela Primaria Ignacio Altamirano<\/h1>\n  <span class=\"cnw-rocket-emoji\">\ud83d\ude80<\/span>\n  <h1 class=\"cnw-title\">El Cohete Num\u00e9rico<\/h1>\n  <p class=\"cnw-subtitle\"> 1\u00b0 de Primaria | 6 a\u00f1os<\/p>\n  <p class=\"cnw-subtitle\"> Creaci\u00f3n: H\u00e9ctor G S\u00e1nchez<\/p>\n  <p class=\"cnw-subtitle\">\ud83d\udc4b \u00a1Hola! Bienvenido(a)!<br>Vamos a jugar y aprender a sumar.<\/p>\n  <p class=\"cnw-subtitle\" style=\"margin-bottom:8px;\">\u00bfC\u00f3mo te llamas?<\/p>\n  <input type=\"text\" id=\"cnw-input-name\" placeholder=\"Escribe tu nombre\" maxlength=\"20\">\n  <br>\n  <button class=\"cnw-btn\" id=\"cnw-btn-continuar\">CONTINUAR \ud83d\ude80<\/button>\n<\/div>\n\n<!-- PRESENTACION PERSONALIZADA -->\n<div class=\"cnw-screen cnw-hidden\" id=\"cnw-screen-presentacion\">\n  <span class=\"cnw-rocket-emoji\">\u2b50<\/span>\n  <h1 class=\"cnw-title\" id=\"cnw-saludo-nombre\">\u00a1Muy bien!<\/h1>\n  <p class=\"cnw-subtitle\">\u00a1Qu\u00e9 gusto jugar contigo!<br>Ahora te voy a explicar c\u00f3mo jugar.<\/p>\n  <button class=\"cnw-btn\" id=\"cnw-btn-a-reglas\">SIGUIENTE<\/button>\n<\/div>\n\n<!-- REGLAS -->\n<div class=\"cnw-screen cnw-hidden\" id=\"cnw-screen-reglas\">\n  <h1 class=\"cnw-title\">\ud83d\udcda \u00bfC\u00f3mo jugar?<\/h1>\n  <ul class=\"cnw-rules-list\">\n    <li>1\ufe0f\u20e3 Observa la suma con atenci\u00f3n.<\/li>\n    <li>2\ufe0f\u20e3 Elige la respuesta correcta entre las 3 opciones.<\/li>\n    <li>3\ufe0f\u20e3 Cada acierto te dar\u00e1 puntos y una estrella \u2b50.<\/li>\n    <li>4\ufe0f\u20e3 Completa los 3 planetas para ganar tu insignia de astronauta \ud83c\udfc5.<\/li>\n  <\/ul>\n  <p class=\"cnw-subtitle\">\u00bfListo?<\/p>\n  <button class=\"cnw-btn\" id=\"cnw-btn-empezar\">\u00a1EMPEZAR A JUGAR! \ud83d\ude80<\/button>\n<\/div>\n\n<!-- TRANSICION DE NIVEL -->\n<div class=\"cnw-screen cnw-hidden\" id=\"cnw-screen-nivel-intro\">\n  <span class=\"cnw-planet-badge\" id=\"cnw-planeta-emoji\">\ud83e\ude90<\/span>\n  <h1 class=\"cnw-title\" id=\"cnw-planeta-titulo\">Planeta 1<\/h1>\n  <p class=\"cnw-subtitle\" id=\"cnw-planeta-desc\">Sumas hasta 5<\/p>\n  <button class=\"cnw-btn\" id=\"cnw-btn-jugar-nivel\">VOLAR HACIA ALL\u00c1 \ud83d\ude80<\/button>\n<\/div>\n\n<!-- JUEGO -->\n<div class=\"cnw-screen cnw-hidden\" id=\"cnw-screen-juego\">\n  <div class=\"cnw-hud\">\n    <div class=\"cnw-hud-item\">\u2b50 <span id=\"cnw-hud-puntos\">0<\/span><\/div>\n    <div class=\"cnw-hud-item\" id=\"cnw-hud-vidas\">\u2764\ufe0f\u2764\ufe0f\u2764\ufe0f<\/div>\n  <\/div>\n  <div class=\"cnw-progress-track\">\n    <div class=\"cnw-progress-fill\" id=\"cnw-progress-fill\" style=\"width:0%;\"><\/div>\n  <\/div>\n  <span class=\"cnw-planet-badge\" id=\"cnw-juego-planeta-emoji\">\ud83e\ude90<\/span>\n  <div class=\"cnw-sum-card\">\n    <div class=\"cnw-sum-visual\" id=\"cnw-sum-visual\"><\/div>\n    <div class=\"cnw-sum-equation\" id=\"cnw-sum-equation\"><\/div>\n  <\/div>\n  <div class=\"cnw-feedback\" id=\"cnw-feedback\"><\/div>\n  <div class=\"cnw-options\" id=\"cnw-options\"><\/div>\n<\/div>\n\n<!-- RESULTADO FINAL -->\n<div class=\"cnw-screen cnw-hidden\" id=\"cnw-screen-final\">\n  <h1 class=\"cnw-title\">\ud83c\udf89 \u00a1Misi\u00f3n Completada!<\/h1>\n  <span class=\"cnw-badge-final\">\ud83c\udfc5<\/span>\n  <p class=\"cnw-subtitle\" id=\"cnw-final-mensaje\"><\/p>\n  <div class=\"cnw-final-stars\">\u2b50 <span id=\"cnw-final-puntos\">0<\/span> puntos<\/div>\n  <button class=\"cnw-btn\" id=\"cnw-btn-reiniciar\">JUGAR OTRA VEZ \ud83d\udd04<\/button>\n<\/div>\n\n<\/div>\n\n<script>\n(function(){\n\n  const root = document.getElementById('cohete-numerico-widget');\n  if(!root) return;\n\n  \/\/ ---------- Fondo de estrellas ----------\n  const starsContainer = root.querySelector('#cnw-stars');\n  const STAR_COUNT = 50;\n  for(let i=0;i<STAR_COUNT;i++){\n    const s = document.createElement('div');\n    s.className = 'cnw-star';\n    const size = Math.random()*2.5 + 1;\n    s.style.width = size+'px';\n    s.style.height = size+'px';\n    s.style.left = Math.random()*100+'%';\n    s.style.top = Math.random()*100+'%';\n    s.style.animationDelay = (Math.random()*3)+'s';\n    starsContainer.appendChild(s);\n  }\n\n  \/\/ ---------- Estado del juego ----------\n  const state = {\n    name: '',\n    points: 0,\n    lives: 3,\n    levelIndex: 0,\n    questionIndex: 0,\n    questionsPerLevel: 4\n  };\n\n  const levels = [\n    { title:'Planeta 1', emoji:'\ud83e\ude90', desc:'Sumas hasta 5', max:5 },\n    { title:'Planeta 2', emoji:'\ud83c\udf0d', desc:'Sumas hasta 8', max:8 },\n    { title:'Planeta 3', emoji:'\ud83c\udf15', desc:'Sumas hasta 10', max:10 }\n  ];\n\n  const visualIcons = ['\u2b50','\ud83c\udf1f','\ud83e\ude90','\u2604\ufe0f','\ud83d\ude80'];\n\n  \/\/ ---------- Elementos (todos escopados dentro de root) ----------\n  const screens = {\n    welcome: root.querySelector('#cnw-screen-welcome'),\n    presentacion: root.querySelector('#cnw-screen-presentacion'),\n    reglas: root.querySelector('#cnw-screen-reglas'),\n    nivelIntro: root.querySelector('#cnw-screen-nivel-intro'),\n    juego: root.querySelector('#cnw-screen-juego'),\n    final: root.querySelector('#cnw-screen-final')\n  };\n\n  function showScreen(name){\n    Object.values(screens).forEach(s => s.classList.add('cnw-hidden'));\n    screens[name].classList.remove('cnw-hidden');\n  }\n\n  \/\/ ---------- Pantalla 0: Bienvenida ----------\n  root.querySelector('#cnw-btn-continuar').addEventListener('click', () => {\n    const val = root.querySelector('#cnw-input-name').value.trim();\n    state.name = val || 'Explorador';\n    root.querySelector('#cnw-saludo-nombre').textContent = `\u2b50 \u00a1Muy bien, ${state.name}!`;\n    showScreen('presentacion');\n  });\n\n  root.querySelector('#cnw-input-name').addEventListener('keydown', (e) => {\n    if(e.key === 'Enter'){ root.querySelector('#cnw-btn-continuar').click(); }\n  });\n\n  root.querySelector('#cnw-btn-a-reglas').addEventListener('click', () => {\n    showScreen('reglas');\n  });\n\n  root.querySelector('#cnw-btn-empezar').addEventListener('click', () => {\n    startLevel(0);\n  });\n\n  root.querySelector('#cnw-btn-jugar-nivel').addEventListener('click', () => {\n    state.questionIndex = 0;\n    showScreen('juego');\n    renderQuestion();\n  });\n\n  root.querySelector('#cnw-btn-reiniciar').addEventListener('click', () => {\n    state.points = 0;\n    state.lives = 3;\n    state.levelIndex = 0;\n    state.questionIndex = 0;\n    showScreen('welcome');\n    root.querySelector('#cnw-input-name').value = '';\n  });\n\n  \/\/ ---------- Niveles ----------\n  function startLevel(index){\n    state.levelIndex = index;\n    const lvl = levels[index];\n    root.querySelector('#cnw-planeta-emoji').textContent = lvl.emoji;\n    root.querySelector('#cnw-planeta-titulo').textContent = lvl.title;\n    root.querySelector('#cnw-planeta-desc').textContent = lvl.desc;\n    showScreen('nivelIntro');\n  }\n\n  \/\/ ---------- Generaci\u00f3n de preguntas ----------\n  function generateQuestion(maxSum){\n    let a, b;\n    do{\n      a = 1 + Math.floor(Math.random()* (maxSum-1));\n      b = 1 + Math.floor(Math.random()* (maxSum-1));\n    } while(a+b > maxSum || a+b < 2);\n    const correct = a+b;\n\n    const options = new Set([correct]);\n    while(options.size < 3){\n      let delta = Math.floor(Math.random()*5) - 2;\n      let wrong = correct + delta;\n      if(wrong < 1) wrong = correct + Math.abs(delta) + 1;\n      if(wrong === correct) wrong += 1;\n      if(wrong > 0 && wrong <= maxSum + 3){\n        options.add(wrong);\n      }\n    }\n    const optsArr = Array.from(options).sort(() => Math.random()-0.5);\n    return { a, b, correct, options: optsArr };\n  }\n\n  let currentQuestion = null;\n\n  function renderQuestion(){\n    const lvl = levels[state.levelIndex];\n    root.querySelector('#cnw-juego-planeta-emoji').textContent = lvl.emoji;\n    updateHUD();\n\n    const totalProgress = ((state.levelIndex * state.questionsPerLevel) + state.questionIndex) \/\n                           (levels.length * state.questionsPerLevel) * 100;\n    root.querySelector('#cnw-progress-fill').style.width = totalProgress + '%';\n\n    currentQuestion = generateQuestion(lvl.max);\n\n    const icon = visualIcons[state.levelIndex % visualIcons.length];\n    root.querySelector('#cnw-sum-visual').textContent =\n      icon.repeat(currentQuestion.a) + '   ' + icon.repeat(currentQuestion.b);\n    root.querySelector('#cnw-sum-equation').textContent =\n      `${currentQuestion.a} + ${currentQuestion.b} = ?`;\n\n    const fb = root.querySelector('#cnw-feedback');\n    fb.textContent = '';\n    fb.className = 'cnw-feedback';\n\n    const optionsDiv = root.querySelector('#cnw-options');\n    optionsDiv.innerHTML = '';\n    currentQuestion.options.forEach(opt => {\n      const btn = document.createElement('button');\n      btn.className = 'cnw-option-btn';\n      btn.textContent = opt;\n      btn.addEventListener('click', () => handleAnswer(opt, btn));\n      optionsDiv.appendChild(btn);\n    });\n  }\n\n  function updateHUD(){\n    root.querySelector('#cnw-hud-puntos').textContent = state.points;\n    root.querySelector('#cnw-hud-vidas').textContent = '\u2764\ufe0f'.repeat(state.lives) + '\ud83d\udda4'.repeat(3-state.lives);\n  }\n\n  function handleAnswer(selected, btnEl){\n    const buttons = root.querySelectorAll('.cnw-option-btn');\n    buttons.forEach(b => b.disabled = true);\n\n    const feedbackEl = root.querySelector('#cnw-feedback');\n\n    if(selected === currentQuestion.correct){\n      btnEl.classList.add('cnw-correct');\n      state.points += 10;\n      feedbackEl.textContent = '\u00a1Correcto! \ud83d\ude80';\n      feedbackEl.className = 'cnw-feedback cnw-ok';\n    } else {\n      btnEl.classList.add('cnw-incorrect');\n      state.lives -= 1;\n      feedbackEl.textContent = '\u00a1Casi! La respuesta era ' + currentQuestion.correct;\n      feedbackEl.className = 'cnw-feedback cnw-bad';\n      buttons.forEach(b => {\n        if(parseInt(b.textContent) === currentQuestion.correct){\n          b.classList.add('cnw-correct');\n        }\n      });\n    }\n\n    updateHUD();\n\n    setTimeout(() => {\n      if(state.lives <= 0){\n        endGame(false);\n        return;\n      }\n      state.questionIndex += 1;\n      if(state.questionIndex >= state.questionsPerLevel){\n        if(state.levelIndex + 1 < levels.length){\n          startLevel(state.levelIndex + 1);\n        } else {\n          endGame(true);\n        }\n      } else {\n        renderQuestion();\n      }\n    }, 1200);\n  }\n\n  function endGame(success){\n    showScreen('final');\n    root.querySelector('#cnw-final-puntos').textContent = state.points;\n    const msgEl = root.querySelector('#cnw-final-mensaje');\n    if(success){\n      msgEl.textContent = `\u00a1Excelente trabajo, ${state.name}! Completaste las 3 misiones y ganaste tu insignia de Astronauta Matem\u00e1tico.`;\n      launchConfetti();\n    } else {\n      msgEl.textContent = `\u00a1Buen intento, ${state.name}! Ganaste ${state.points} puntos. \u00bfQuieres volver a intentarlo?`;\n    }\n  }\n\n  function launchConfetti(){\n    const colors = ['#ff8a3d','#ff5da2','#3ee6b0','#ffd23f','#5b8dee'];\n    for(let i=0;i<40;i++){\n      const piece = document.createElement('div');\n      piece.className = 'cnw-confetti-piece';\n      piece.style.left = Math.random()*100+'%';\n      piece.style.background = colors[Math.floor(Math.random()*colors.length)];\n      piece.style.animationDuration = (2 + Math.random()*2)+'s';\n      piece.style.animationDelay = (Math.random()*0.5)+'s';\n      root.appendChild(piece);\n      setTimeout(() => piece.remove(), 4500);\n    }\n  }\n\n})();\n<\/script>\n\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:120px\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p><br>Bienvenido a\u00a0<strong>\u00abEl Cohete Num\u00e9rico\u00bb<\/strong>, una actividad educativa dise\u00f1ada especialmente para ni\u00f1os de primero de primaria. Con este juego interactivo, los peque\u00f1os aprender\u00e1n a resolver sumas b\u00e1sicas del 1 al 15 mientras se divierten. El cohete los guiar\u00e1 a trav\u00e9s de diferentes niveles donde deber\u00e1n sumar n\u00fameros para avanzar y llegar al espacio exterior. Esta actividad fomenta el aprendizaje l\u00fadico, la concentraci\u00f3n y el razonamiento matem\u00e1tico desde edades tempranas. Ideal para reforzar lo aprendido en clase o practicar en casa con la familia.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-4 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><br><strong>\u00bfQu\u00e9 aprender\u00e1s?<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sumar n\u00fameros del 1 al 15<\/li>\n\n\n\n<li>Reconocer cantidades y n\u00fameros<\/li>\n\n\n\n<li>Desarrollar agilidad mental<\/li>\n\n\n\n<li>Resolver problemas matem\u00e1ticos sencillos<\/li>\n\n\n\n<li>Divertirte mientras aprendes<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><br><strong>Beneficios educativos<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Refuerza el aprendizaje de matem\u00e1ticas<\/li>\n\n\n\n<li>Desarrolla habilidades de c\u00e1lculo mental<\/li>\n\n\n\n<li>Fomenta la autonom\u00eda y confianza en el alumno<\/li>\n\n\n\n<li>Estimula la concentraci\u00f3n y atenci\u00f3n<\/li>\n\n\n\n<li>Aprendizaje significativo a trav\u00e9s del juego<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading\"><br><strong>C\u00f3mo jugar<\/strong><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Elige el nivel que deseas jugar<\/li>\n\n\n\n<li>Observa la operaci\u00f3n de suma en la pantalla<\/li>\n\n\n\n<li>Selecciona la respuesta correcta entre las opciones<\/li>\n\n\n\n<li>Si aciertas, el cohete avanza<\/li>\n\n\n\n<li>Completa todas las sumas para llegar al espacio<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><br><strong>Consejos para padres<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Acompa\u00f1e a su hijo durante la actividad<\/li>\n\n\n\n<li>Refuerce los aciertos con palabras positivas<\/li>\n\n\n\n<li>Si se equivoca, an\u00edmelo a intentarlo de nuevo<\/li>\n\n\n\n<li>Practique sumas en la vida cotidiana (frutas, juguetes)<\/li>\n\n\n\n<li>Dedique 10-15 minutos diarios a esta actividad<\/li>\n<\/ul>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a1Bienvenidos al Cohete M\u00e1gico! Abrochate tu cintur\u00f3n. Escuela Primaria Ignacio Altamirano \ud83d\ude80 El Cohete Num\u00e9rico 1\u00b0 de Primaria | 6 &hellip; <\/p>\n","protected":false},"author":1,"featured_media":345,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[6,7],"tags":[9],"class_list":["post-257","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-juegos","category-primero-de-primaria","tag-matematicas"],"_links":{"self":[{"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/posts\/257"}],"collection":[{"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/comments?post=257"}],"version-history":[{"count":32,"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/posts\/257\/revisions"}],"predecessor-version":[{"id":343,"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/posts\/257\/revisions\/343"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/media\/345"}],"wp:attachment":[{"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/media?parent=257"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/categories?post=257"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/eppaltamirano.com.mx\/index.php\/wp-json\/wp\/v2\/tags?post=257"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}