{"id":2721,"date":"2026-04-28T21:59:09","date_gmt":"2026-04-28T21:59:09","guid":{"rendered":"https:\/\/www.nmp.unirc.it\/?page_id=2721"},"modified":"2026-04-28T21:59:09","modified_gmt":"2026-04-28T21:59:09","slug":"whack-a-nmp","status":"publish","type":"page","link":"https:\/\/www.nmp.unirc.it\/?page_id=2721","title":{"rendered":"Whack A Nmp"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"it\">\n<head>\n  <meta charset=\"UTF-8\" \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/>\n  <title>Whack-a-NMP<\/title>\n\n  <style>\n    * {\n      box-sizing: border-box;\n      margin: 0;\n      padding: 0;\n    }\n\n    body {\n      min-height: 100vh;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-family: Arial, sans-serif;\n      background: #f4f4f4;\n      color: #222;\n      padding: 20px;\n    }\n\n    .game-wrapper {\n      width: 100%;\n      max-width: 520px;\n      text-align: center;\n      background: white;\n      border: 3px solid #222;\n      border-radius: 18px;\n      padding: 22px;\n      box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);\n    }\n\n    h1 {\n      font-size: 28px;\n      margin-bottom: 8px;\n    }\n\n    .subtitle {\n      color: #555;\n      font-size: 14px;\n      margin-bottom: 16px;\n    }\n\n    .game-info {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 8px;\n      margin-bottom: 16px;\n    }\n\n    .info-box {\n      border: 2px solid #ddd;\n      border-radius: 12px;\n      padding: 10px 6px;\n      background: #fafafa;\n      font-weight: bold;\n      font-size: 14px;\n    }\n\n    .info-box span {\n      display: block;\n      margin-top: 4px;\n      font-size: 22px;\n      color: #2f78b7;\n    }\n\n    .board {\n      display: grid;\n      grid-template-columns: repeat(3, 1fr);\n      gap: 12px;\n      margin-bottom: 18px;\n    }\n\n    .hole {\n      position: relative;\n      aspect-ratio: 1 \/ 1;\n      border: 3px solid #222;\n      border-radius: 18px;\n      background: linear-gradient(135deg, #ffffff, #e9f5ff);\n      overflow: hidden;\n      cursor: pointer;\n      touch-action: manipulation;\n    }\n\n    .hole::after {\n      content: \"\";\n      position: absolute;\n      left: 18%;\n      right: 18%;\n      bottom: 14%;\n      height: 16%;\n      border-radius: 999px;\n      background: rgba(0, 0, 0, 0.18);\n    }\n\n    .nmp {\n      position: absolute;\n      left: 50%;\n      bottom: -70%;\n      width: 62%;\n      height: 52%;\n      transform: translateX(-50%);\n      border-radius: 14px;\n      background: #2f78b7;\n      color: white;\n      display: flex;\n      flex-direction: column;\n      align-items: center;\n      justify-content: center;\n      font-weight: bold;\n      box-shadow: 0 5px 12px rgba(0, 0, 0, 0.25);\n      transition: bottom 0.14s ease, transform 0.08s ease;\n      z-index: 2;\n      user-select: none;\n      pointer-events: none;\n    }\n\n    .nmp .main {\n      font-size: clamp(13px, 4vw, 18px);\n      line-height: 1;\n    }\n\n    .nmp .year {\n      font-size: clamp(7px, 2vw, 10px);\n      line-height: 1;\n      margin-top: 3px;\n      letter-spacing: 1px;\n    }\n\n    .hole.active .nmp {\n      bottom: 22%;\n    }\n\n    .hole.hit .nmp {\n      transform: translateX(-50%) scale(0.9);\n      background: #238636;\n    }\n\n    #message {\n      min-height: 30px;\n      margin-bottom: 14px;\n      font-weight: bold;\n      font-size: 18px;\n      color: #173b6c;\n    }\n\n    .actions {\n      display: flex;\n      justify-content: center;\n      gap: 10px;\n      flex-wrap: wrap;\n    }\n\n    button.action-btn {\n      border: none;\n      border-radius: 999px;\n      padding: 12px 20px;\n      font-size: 15px;\n      font-weight: bold;\n      cursor: pointer;\n      background: #2f78b7;\n      color: white;\n      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);\n    }\n\n    button.action-btn.secondary {\n      background: #222;\n    }\n\n    .hint {\n      margin-top: 12px;\n      font-size: 13px;\n      color: #666;\n    }\n  <\/style>\n<\/head>\n\n<body>\n  <div class=\"game-wrapper\">\n    <h1>Whack-a-NMP<\/h1>\n    <p class=\"subtitle\">Colpisci il badge NMP 2026 quando appare.<\/p>\n\n    <div class=\"game-info\">\n      <div class=\"info-box\">Punti<span id=\"score\">0<\/span><\/div>\n      <div class=\"info-box\">Tempo<span id=\"time\">30<\/span><\/div>\n      <div class=\"info-box\">Record<span id=\"bestScore\">0<\/span><\/div>\n    <\/div>\n\n    <div id=\"message\">Premi Start per iniziare<\/div>\n\n    <div class=\"board\" id=\"board\">\n      <div class=\"hole\" data-index=\"0\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"1\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"2\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"3\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"4\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"5\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"6\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"7\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n      <div class=\"hole\" data-index=\"8\"><div class=\"nmp\"><span class=\"main\">NMP<\/span><span class=\"year\">2026<\/span><\/div><\/div>\n    <\/div>\n\n    <div class=\"actions\">\n      <button class=\"action-btn\" id=\"startBtn\">Start \/ Riavvia<\/button>\n      <button class=\"action-btn secondary\" id=\"resetBtn\">Azzera record<\/button>\n    <\/div>\n\n    <p class=\"hint\">Funziona con mouse, touch e trackpad.<\/p>\n  <\/div>\n\n  <script>\n    const holes = document.querySelectorAll(\".hole\");\n    const scoreEl = document.getElementById(\"score\");\n    const timeEl = document.getElementById(\"time\");\n    const bestScoreEl = document.getElementById(\"bestScore\");\n    const message = document.getElementById(\"message\");\n    const startBtn = document.getElementById(\"startBtn\");\n    const resetBtn = document.getElementById(\"resetBtn\");\n\n    let score = 0;\n    let timeLeft = 30;\n    let bestScore = Number(localStorage.getItem(\"whackNmpBestScore\")) || 0;\n    let activeHole = null;\n    let isPlaying = false;\n    let moleTimer = null;\n    let countdownTimer = null;\n    let currentSpeed = 850;\n\n    bestScoreEl.textContent = bestScore;\n\n    function startGame() {\n      clearTimeout(moleTimer);\n      clearInterval(countdownTimer);\n      clearHoles();\n\n      score = 0;\n      timeLeft = 30;\n      currentSpeed = 850;\n      isPlaying = true;\n      activeHole = null;\n\n      scoreEl.textContent = score;\n      timeEl.textContent = timeLeft;\n      message.textContent = \"Via! Colpisci NMP!\";\n\n      showNmp();\n\n      countdownTimer = setInterval(() => {\n        timeLeft--;\n        timeEl.textContent = timeLeft;\n\n        if (timeLeft <= 0) {\n          endGame();\n        }\n      }, 1000);\n    }\n\n    function clearHoles() {\n      holes.forEach(hole => {\n        hole.classList.remove(\"active\", \"hit\");\n      });\n    }\n\n    function showNmp() {\n      if (!isPlaying) return;\n\n      clearHoles();\n\n      let nextHole;\n      do {\n        nextHole = Math.floor(Math.random() * holes.length);\n      } while (nextHole === activeHole && holes.length > 1);\n\n      activeHole = nextHole;\n      holes[activeHole].classList.add(\"active\");\n\n      moleTimer = setTimeout(() => {\n        showNmp();\n      }, currentSpeed);\n    }\n\n    function hitHole(index) {\n      if (!isPlaying) return;\n      if (index !== activeHole) return;\n      if (!holes[index].classList.contains(\"active\")) return;\n\n      score++;\n      scoreEl.textContent = score;\n      message.textContent = score % 5 === 0 ? \"Combo NMP!\" : \"Preso!\";\n\n      holes[index].classList.add(\"hit\");\n      holes[index].classList.remove(\"active\");\n\n      \/\/ Pi\u00f9 punti fai, pi\u00f9 il gioco diventa rapido, ma senza diventare impossibile\n      currentSpeed = Math.max(380, 850 - score * 18);\n\n      clearTimeout(moleTimer);\n      moleTimer = setTimeout(showNmp, 180);\n    }\n\n    function endGame() {\n      isPlaying = false;\n      clearTimeout(moleTimer);\n      clearInterval(countdownTimer);\n      clearHoles();\n\n      if (score > bestScore) {\n        bestScore = score;\n        localStorage.setItem(\"whackNmpBestScore\", bestScore);\n        bestScoreEl.textContent = bestScore;\n        message.textContent = `Nuovo record! Hai fatto ${score} punti \ud83c\udf89`;\n      } else {\n        message.textContent = `Tempo finito! Hai fatto ${score} punti.`;\n      }\n    }\n\n    holes.forEach(hole => {\n      hole.addEventListener(\"click\", () => {\n        hitHole(Number(hole.dataset.index));\n      });\n\n      hole.addEventListener(\"touchstart\", event => {\n        event.preventDefault();\n        hitHole(Number(hole.dataset.index));\n      });\n    });\n\n    startBtn.addEventListener(\"click\", startGame);\n\n    resetBtn.addEventListener(\"click\", () => {\n      bestScore = 0;\n      localStorage.setItem(\"whackNmpBestScore\", bestScore);\n      bestScoreEl.textContent = bestScore;\n      message.textContent = \"Record azzerato\";\n    });\n  <\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Whack-a-NMP Whack-a-NMP Colpisci il badge NMP 2026 quando appare. Punti0 Tempo30 Record0 Premi Start per iniziare NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 Start \/ Riavvia Azzera record Funziona con mouse, touch e trackpad.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2721","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Whack A Nmp - NMP2026<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.nmp.unirc.it\/?page_id=2721\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Whack A Nmp - NMP2026\" \/>\n<meta property=\"og:description\" content=\"Whack-a-NMP Whack-a-NMP Colpisci il badge NMP 2026 quando appare. Punti0 Tempo30 Record0 Premi Start per iniziare NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 Start \/ Riavvia Azzera record Funziona con mouse, touch e trackpad.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.nmp.unirc.it\/?page_id=2721\" \/>\n<meta property=\"og:site_name\" content=\"NMP2026\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/?page_id=2721\",\"url\":\"https:\\\/\\\/www.nmp.unirc.it\\\/?page_id=2721\",\"name\":\"Whack A Nmp - NMP2026\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/#website\"},\"datePublished\":\"2026-04-28T21:59:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/?page_id=2721#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.nmp.unirc.it\\\/?page_id=2721\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/?page_id=2721#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.nmp.unirc.it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Whack A Nmp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/#website\",\"url\":\"https:\\\/\\\/www.nmp.unirc.it\\\/\",\"name\":\"NMP2026\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.nmp.unirc.it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/#organization\",\"name\":\"NMP2026\",\"url\":\"https:\\\/\\\/www.nmp.unirc.it\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.nmp.unirc.it\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/cropped-cropped-Immagine1-removebg-preview.png\",\"contentUrl\":\"https:\\\/\\\/www.nmp.unirc.it\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/cropped-cropped-Immagine1-removebg-preview.png\",\"width\":570,\"height\":438,\"caption\":\"NMP2026\"},\"image\":{\"@id\":\"https:\\\/\\\/www.nmp.unirc.it\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Whack A Nmp - NMP2026","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.nmp.unirc.it\/?page_id=2721","og_locale":"en_US","og_type":"article","og_title":"Whack A Nmp - NMP2026","og_description":"Whack-a-NMP Whack-a-NMP Colpisci il badge NMP 2026 quando appare. Punti0 Tempo30 Record0 Premi Start per iniziare NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 NMP2026 Start \/ Riavvia Azzera record Funziona con mouse, touch e trackpad.","og_url":"https:\/\/www.nmp.unirc.it\/?page_id=2721","og_site_name":"NMP2026","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.nmp.unirc.it\/?page_id=2721","url":"https:\/\/www.nmp.unirc.it\/?page_id=2721","name":"Whack A Nmp - NMP2026","isPartOf":{"@id":"https:\/\/www.nmp.unirc.it\/#website"},"datePublished":"2026-04-28T21:59:09+00:00","breadcrumb":{"@id":"https:\/\/www.nmp.unirc.it\/?page_id=2721#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.nmp.unirc.it\/?page_id=2721"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.nmp.unirc.it\/?page_id=2721#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.nmp.unirc.it\/"},{"@type":"ListItem","position":2,"name":"Whack A Nmp"}]},{"@type":"WebSite","@id":"https:\/\/www.nmp.unirc.it\/#website","url":"https:\/\/www.nmp.unirc.it\/","name":"NMP2026","description":"","publisher":{"@id":"https:\/\/www.nmp.unirc.it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.nmp.unirc.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.nmp.unirc.it\/#organization","name":"NMP2026","url":"https:\/\/www.nmp.unirc.it\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.nmp.unirc.it\/#\/schema\/logo\/image\/","url":"https:\/\/www.nmp.unirc.it\/wp-content\/uploads\/2023\/10\/cropped-cropped-Immagine1-removebg-preview.png","contentUrl":"https:\/\/www.nmp.unirc.it\/wp-content\/uploads\/2023\/10\/cropped-cropped-Immagine1-removebg-preview.png","width":570,"height":438,"caption":"NMP2026"},"image":{"@id":"https:\/\/www.nmp.unirc.it\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=\/wp\/v2\/pages\/2721","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2721"}],"version-history":[{"count":1,"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=\/wp\/v2\/pages\/2721\/revisions"}],"predecessor-version":[{"id":2722,"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=\/wp\/v2\/pages\/2721\/revisions\/2722"}],"wp:attachment":[{"href":"https:\/\/www.nmp.unirc.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2721"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}