{"id":9734,"date":"2024-09-25T18:06:31","date_gmt":"2024-09-25T17:06:31","guid":{"rendered":"https:\/\/agenciaseonetbulb.com\/noticias\/?page_id=9734"},"modified":"2024-10-02T08:32:11","modified_gmt":"2024-10-02T07:32:11","slug":"el-juego-del-seo","status":"publish","type":"page","link":"https:\/\/agenciaseonetbulb.com\/noticias\/el-juego-del-seo\/","title":{"rendered":"El juego del SEO"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\"\/>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\/>\n    <title>SEO Plataformas<\/title>\n    <style>\n        body {\n            margin: 0;\n            overflow: hidden;\n        }\n\n        #gameContainer {\n            position: relative;\n            width: 100vw;\n            height: 100vh;\n            background: linear-gradient(to bottom, #87CEEB 50%, #3B5323 50%);\n            overflow: hidden;\n        }\n\n        #player {\n            position: absolute;\n            bottom: 50px;\n            left: 50px;\n            width: 50px;\n            height: 50px;\n            background-color: #0073aa;\n            border-radius: 50%;\n        }\n\n        .platform {\n            position: absolute;\n            background-color: #333;\n            height: 20px;\n            width: 200px;\n        }\n\n        .backlink, .keyword {\n            position: absolute;\n            width: 20px;\n            height: 20px;\n            background-color: gold;\n            border-radius: 50%;\n        }\n\n        .error404, .spam {\n            position: absolute;\n            width: 50px;\n            height: 50px;\n            background-color: red;\n            border-radius: 50%;\n            color: white;\n            text-align: center;\n            line-height: 50px;\n            font-family: Arial, sans-serif;\n        }\n\n        #score {\n            position: absolute;\n            top: 10px;\n            left: 10px;\n            font-family: Arial, sans-serif;\n            font-size: 20px;\n            color: white;\n        }\n    <\/style>\n<\/head>\n<body>\n    <div id=\"gameContainer\">\n        <div id=\"player\"><\/div>\n\n        <!-- Plataformas -->\n        <div class=\"platform\" style=\"bottom: 150px; left: 100px;\"><\/div>\n        <div class=\"platform\" style=\"bottom: 300px; left: 300px;\"><\/div>\n        <div class=\"platform\" style=\"bottom: 200px; left: 500px;\"><\/div>\n\n        <!-- Objetos de SEO -->\n        <div class=\"backlink\" style=\"bottom: 320px; left: 320px;\"><\/div>\n        <div class=\"keyword\" style=\"bottom: 220px; left: 520px;\"><\/div>\n\n        <!-- Enemigos (obst\u00e1culos de SEO) -->\n        <div class=\"error404\" style=\"bottom: 170px; left: 220px;\">404<\/div>\n        <div class=\"spam\" style=\"bottom: 250px; left: 420px;\">Spam<\/div>\n\n        <!-- Puntaje -->\n        <div id=\"score\">Puntos: 0<\/div>\n    <\/div>\n\n    <script>\n        \/\/ Variables de juego\n        const player = document.getElementById('player');\n        const platforms = document.getElementsByClassName('platform');\n        const backlinks = document.getElementsByClassName('backlink');\n        const keywords = document.getElementsByClassName('keyword');\n        const errors = document.getElementsByClassName('error404');\n        const spams = document.getElementsByClassName('spam');\n        let score = 0;\n\n        \/\/ Movimiento del jugador\n        let playerX = 50;\n        let playerY = 50;\n        let playerSpeedX = 0;\n        let playerSpeedY = 0;\n        let gravity = 0.5;\n        let jump = -10;\n        let isJumping = false;\n\n        \/\/ Controles\n        document.addEventListener('keydown', function (event) {\n            if (event.key === 'ArrowRight') {\n                playerSpeedX = 5;\n            } else if (event.key === 'ArrowLeft') {\n                playerSpeedX = -5;\n            } else if (event.key === 'ArrowUp' && !isJumping) {\n                playerSpeedY = jump;\n                isJumping = true;\n            }\n        });\n\n        document.addEventListener('keyup', function (event) {\n            if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {\n                playerSpeedX = 0;\n            }\n        });\n\n        \/\/ L\u00f3gica del juego\n        function gameLoop() {\n            \/\/ Aplicar gravedad\n            playerSpeedY += gravity;\n\n            \/\/ Mover jugador\n            playerX += playerSpeedX;\n            playerY += playerSpeedY;\n\n            \/\/ Colisiones con las plataformas\n            for (let platform of platforms) {\n                const platformRect = platform.getBoundingClientRect();\n                const playerRect = player.getBoundingClientRect();\n\n                if (\n                    playerRect.bottom <= platformRect.top &#038;&#038;\n                    playerRect.bottom + playerSpeedY >= platformRect.top &&\n                    playerRect.right >= platformRect.left &&\n                    playerRect.left <= platformRect.right\n                ) {\n                    playerSpeedY = 0;\n                    playerY = platformRect.top - playerRect.height;\n                    isJumping = false;\n                }\n            }\n\n            \/\/ Recoger backlinks y keywords\n            for (let backlink of backlinks) {\n                if (isColliding(player, backlink)) {\n                    backlink.style.display = 'none'; \/\/ Eliminar objeto\n                    score += 10;\n                    updateScore();\n                }\n            }\n\n            for (let keyword of keywords) {\n                if (isColliding(player, keyword)) {\n                    keyword.style.display = 'none'; \/\/ Eliminar objeto\n                    score += 10;\n                    updateScore();\n                }\n            }\n\n            \/\/ Colisi\u00f3n con enemigos (404, Spam)\n            for (let error of errors) {\n                if (isColliding(player, error)) {\n                    alert('\u00a1Cuidado con el 404! Perdiste.');\n                    resetGame();\n                }\n            }\n\n            for (let spam of spams) {\n                if (isColliding(player, spam)) {\n                    alert('\u00a1Cuidado con el spam! Perdiste.');\n                    resetGame();\n                }\n            }\n\n            \/\/ Limitar los bordes del juego\n            if (playerX < 0) playerX = 0;\n            if (playerX > window.innerWidth - player.clientWidth) playerX = window.innerWidth - player.clientWidth;\n            if (playerY > window.innerHeight - player.clientHeight) playerY = window.innerHeight - player.clientHeight;\n\n            \/\/ Dibujar jugador\n            player.style.left = playerX + 'px';\n            player.style.bottom = playerY + 'px';\n\n            requestAnimationFrame(gameLoop);\n        }\n\n        function isColliding(rect1, rect2) {\n            const r1 = rect1.getBoundingClientRect();\n            const r2 = rect2.getBoundingClientRect();\n            return !(r1.right < r2.left || r1.left > r2.right || r1.bottom < r2.top || r1.top > r2.bottom);\n        }\n\n        function updateScore() {\n            document.getElementById('score').textContent = 'Puntos: ' + score;\n        }\n\n        function resetGame() {\n            playerX = 50;\n            playerY = 50;\n            playerSpeedY = 0;\n            score = 0;\n            updateScore();\n        }\n\n        \/\/ Iniciar juego\n        resetGame();\n        gameLoop();\n    <\/script>\n<\/body>\n<\/html>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>SEO Plataformas 404 Spam Puntos: 0<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-9734","page","type-page","status-publish"],"acf":[],"_links":{"self":[{"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/pages\/9734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/comments?post=9734"}],"version-history":[{"count":10,"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/pages\/9734\/revisions"}],"predecessor-version":[{"id":10146,"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/pages\/9734\/revisions\/10146"}],"wp:attachment":[{"href":"https:\/\/agenciaseonetbulb.com\/noticias\/wp-json\/wp\/v2\/media?parent=9734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}