# Pong > [!noteinfo] > 20.02.2026 · #code #videogames #es-lang #AI-generated Pong fue el primer videojuego que entró en nuestra casa, entre finales de los años setenta y comienzos de los ochenta. Creo que aún lo conservo, guardado en una caja en algún rincón. Se conectaba directamente al televisor por el cable de antena y dudo que hoy pudiera dialogar con una pantalla 4K. Pero ya no importa: han pasado más de cuarenta años y ahora habita en otro lugar, integrado en mi sitio web, suspendido en el tiempo como una pieza de museo, reprogramado a mi medida por la inteligencia artificial. --- Pulsa `Play` para empezar. `Nuevo juego` reinicia el marcador. Controles: `W/S` (izquierda), `ArrowUp/ArrowDown` (derecha), `Touch` (toca donde quieres colocar cada paleta), `Espacio` (pausa), `F` (fullscreen), `Esc` (salir fullscreen), botón `⛶` (fullscreen táctil). En móvil: toca en la mitad izquierda/derecha para colocar cada paleta y usa `⛶` para pantalla completa. <div id="pong-host"></div> <div id="pong-controls"> <label for="pong-speed">Velocidad: <span id="pong-speed-value">1.0x</span></label> <input id="pong-speed" type="range" min="0.5" max="2.0" step="0.1" value="1.0"> </div> <script type="module" src="{{ '/assets/js/pong-page.js' | relative_url }}"></script> ## Incrustación estándar (cualquier web) ```html <div id="pong-host"></div> <script src="https://marconoris.com/assets/js/pong-embed.js"></script> <script> const game = LibellusPong.createPong("#pong-host", { width: 640, height: 360, newGameLabel: "Nuevo juego" }); game.setSpeed(1.2); // opcional </script> ``` ## Incrustación fullscreen (100% viewport) ```html <div id="pong-host" style="position:fixed; inset:0;"></div> <script src="https://marconoris.com/assets/js/pong-embed.js"></script> <script> document.documentElement.style.overflow = "hidden"; document.body.style.margin = "0"; document.body.style.overflow = "hidden"; let game; function mount() { if (game) game.destroy(); game = LibellusPong.createPong("#pong-host", { width: window.innerWidth, height: window.innerHeight, newGameLabel: "Nuevo juego" }); } mount(); window.addEventListener("resize", mount); </script> ```