{"id":2944,"date":"2022-09-17T11:44:21","date_gmt":"2022-09-17T11:44:21","guid":{"rendered":"https:\/\/picockpit.com\/raspberry-pi\/?p=2944"},"modified":"2023-08-23T10:43:28","modified_gmt":"2023-08-23T10:43:28","slug":"gaming-on-the-raspberry-pi-pico","status":"publish","type":"post","link":"https:\/\/picockpit.com\/raspberry-pi\/es\/juegos-en-la-frambuesa-pi-pico\/","title":{"rendered":"Juegos en la Raspberry Pi Pico"},"content":{"rendered":"<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image-1024x576.jpg\" alt=\"juegos en raspberry pi pico\" class=\"wp-image-2946\" srcset=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image-1024x576.jpg 1024w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image-300x169.jpg 300w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image-768x432.jpg 768w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image-1536x864.jpg 1536w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image-18x10.jpg 18w, https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image.jpg 1778w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En este post, quiero hablar sobre los juegos en la Raspberry Pi Pico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recuerdo mi primer dumbphone, que entonces se llamaba \"tel\u00e9fono\". Pod\u00eda jugar a juegos sencillos como el Snake. Eso era lo m\u00e1s novedoso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de eso, hab\u00eda que llevar un dispositivo de mano separado que jugara al Tetris o un sistema de juego m\u00e1s din\u00e1mico como una Gameboy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El Raspberry Pi Pico es un microcontrolador bastante potente comparado con los que funcionaban en los a\u00f1os 90. Naturalmente, nos ofrece la posibilidad de jugar a juegos de esa \u00e9poca.<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 potencia tiene la Raspberry Pi Pico?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Comparada con una consola de los 80, la Raspberry Pi Pico es extremadamente potente.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si programas un juego que sea similar a los requisitos de recursos de un juego de los a\u00f1os 80, la Raspberry Pi Pico probablemente lo superar\u00e1 con creces.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es en los a\u00f1os 90 cuando empieza a ser un poco m\u00e1s dif\u00edcil afirmar una conclusi\u00f3n tan clara.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por un lado, si piensas en \u00e9l como un dispositivo capaz de reproducir juegos similares a los que encontrar\u00edas en una Gameboy o en un tel\u00e9fono m\u00f3vil, probablemente estar\u00e1s satisfecho.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, los juegos de finales de los 90 se volvieron mucho m\u00e1s exigentes. Por ejemplo, no podr\u00e1s jugar al Quake 3 (un juego de 1999) en el Pico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De hecho, aunque la Raspberry Pi Pico puede jugar a Doom (1993), fue un esfuerzo de seis meses para la persona que lo codific\u00f3 porque fue una tarea bastante dif\u00edcil comprimir el juego en los 2MB de almacenamiento que tiene la Raspberry Pi Pico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As\u00ed, aunque el Pico tiene dos procesadores de 133MHz, tiene una memoria RAM y un almacenamiento limitados, lo que dificulta su uso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos c\u00f3mo se compara con una Gameboy:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Espec<\/td><td>Raspberry Pi Pico<\/td><td>Gameboy (1989)<\/td><td>Gameboy Color (1998)<\/td><\/tr><tr><td>Mostrar<\/td><td>LCD en color o tinta electr\u00f3nica, depende de su imaginaci\u00f3n<\/td><td>4 tonos de escala de grises<\/td><td>10, 32, 56 colores<\/td><\/tr><tr><td>Resoluci\u00f3n<\/td><td>Depende de tu pantalla, pero est\u00e1 limitado por los recursos de Pico.<\/td><td>160x144px<\/td><td>160\u00d7144 px<\/td><\/tr><tr><td>CPU<\/td><td>Doble n\u00facleo a 133 MHz<\/td><td>4MHz<\/td><td>4MHz\/8MHz<\/td><\/tr><tr><td>RAM<\/td><td>264KB<\/td><td>8KB<\/td><td>32KB DE RAM, 16KB DE VRAM<\/td><\/tr><tr><td>Almacenamiento<\/td><td>2MB&nbsp;<\/td><td>Cartucho del cartucho: 8 MB de ROM, 128 KB de RAM<\/td><td>Cartucho del cartucho: 8 MB de ROM, 128 KB de RAM<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfPor qu\u00e9 jugar en la Pico y no en la Zero\/Pi 4?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Buena pregunta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como sabes, la Raspberry Pi Pico es un microcontrolador mientras que la Raspberry Pi Zero o la Pi 4 son microordenadores.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ambos pueden jugar, pero el Raspberry Pi Pico est\u00e1 mucho m\u00e1s limitado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dicho esto, si quisieras construir un emulador o un sistema de juegos a partir de la Raspberry Pi Zero o la Pi 4s hoy en d\u00eda (en 2022), ser\u00e1 mejor que ya tengas una o de lo contrario tu mayor cuello de botella ser\u00e1 el stock.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es muy dif\u00edcil conseguir una Pi Zero y bastante complicado conseguir una Pi 4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por otro lado, el Pico es abundante. Adem\u00e1s, arranca casi inmediatamente, mientras que el microordenador Pis tiene que pasar por un largo proceso de arranque.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El Pico tambi\u00e9n dura mucho m\u00e1s. Si quieres una configuraci\u00f3n m\u00f3vil que funcione durante horas y sea port\u00e1til, te ir\u00e1 mucho mejor con el Pico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por \u00faltimo, adem\u00e1s del stock, el Pico tambi\u00e9n es abundante en stock.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para ser justos con la Pi Zero y la Pi 4, definitivamente puedes jugar mejores juegos y tener mejores resultados de emulaci\u00f3n con esos microordenadores. Como ver\u00e1s en la siguiente secci\u00f3n, el Pico tiene dificultades para jugar a juegos que el Zero o el Pi 4 pasan sin problemas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfA qu\u00e9 juegos puede jugar la Raspberry Pi Pico?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Empezaremos por ver lo que la comunidad de juguetones ha sido capaz de reproducir en la Raspberry Pi Pico.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">RP2040 Doom es la respuesta a \"\u00bfse har\u00e1 Doom?\"<\/h3>\n\n\n\n<iframe loading=\"lazy\" width=\"813\" height=\"457\" src=\"https:\/\/www.youtube.com\/embed\/eDVazQVycP4\" title=\"RP2040 Doom: Demo\/Gameplay de DOOM1 en una Raspberry Pi Pico\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ed. La Raspberry Pi Pico puede jugar a Doom.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un tipo llamado Graham Sanderson, de Austin, Texas, consigui\u00f3 portar Doom a la Raspberry Pi Pico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00bfSu f\u00f3rmula m\u00e1gica?<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"while (!convice_myself_its_probably_impossible()) {    do_some_more();}\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #81A1C1\">while<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #81A1C1\">!<\/span><span style=\"color: #88C0D0\">convice_myself_its_probably_impossible<\/span><span style=\"color: #D8DEE9FF\">()) <\/span><span style=\"color: #ECEFF4\">{<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">do_some_more<\/span><span style=\"color: #D8DEE9FF\">()<\/span><span style=\"color: #81A1C1\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9l <a href=\"https:\/\/kilograham.github.io\/rp2040-doom\/\">explic\u00f3 en su documentaci\u00f3n del proceso<\/a> que se enfrent\u00f3 a m\u00faltiples restricciones por las especificaciones de hardware que ten\u00eda la Raspberry Pi Pico. Al fin y al cabo, no es un dispositivo destinado a los juegos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No obstante, Graham tambi\u00e9n decidi\u00f3 endurecer la portaci\u00f3n de Doom. Quer\u00eda la aut\u00e9ntica experiencia de Doom, lo que significaba tener una resoluci\u00f3n de 320\u00d7200 (en color), sonido est\u00e9reo, m\u00fasica OPL2, guardar y cargar, multijugador en red y otras caracter\u00edsticas que est\u00e1n disponibles en el nombre original.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El hecho de incluir tanto juego en la Raspberry Pi Pico supuso un reto para la memoria. Tanto la RAM como el almacenamiento eran cuestiones clave.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En primer lugar, la Raspberry Pi Pico s\u00f3lo tiene 2 MB de almacenamiento, pero la versi\u00f3n shareware de Doom tiene el doble de ese tama\u00f1o. Mientras que otros desarrolladores podr\u00edan decidir recortar ciertas caracter\u00edsticas como las pantallas de bienvenida y el downsampling de las texturas, Graham no quiso hacerlo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La memoria RAM tambi\u00e9n era otro problema, ya que el c\u00f3digo fuente de Chocolate Doom requiere alrededor de 1MB de RAM, mientras que el Pico s\u00f3lo tiene unos 264KB. La memoria es escasa porque el renderizado de los gr\u00e1ficos ocupa una gran parte del espacio de la RAM, pero la RAM tambi\u00e9n es muy importante para el buen funcionamiento del juego. Para gestionar ambos aspectos, Graham tuvo que hacer lo que llam\u00f3 \"liposucci\u00f3n\".<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede obtener m\u00e1s informaci\u00f3n en <a href=\"https:\/\/kilograham.github.io\/rp2040-doom\/\">la documentaci\u00f3n<\/a>, observando <a href=\"https:\/\/www.youtube.com\/playlist?list=PL-_wCtHUfdDPi7i-4OIy5iQjQ3QSqq1Mh\">su lista de reproducci\u00f3n en YouTube<\/a> o <a href=\"https:\/\/github.com\/kilograham\/rp2040-doom\">revisi\u00f3n del c\u00f3digo<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Emulador de NES<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/1R9SiKq9iB0-wC9MtOn8X29eX4HiKXr8Meu9MS9SXpku1lL8GrI7TTmXvvLTU3Q_3SLcZS59K9L5saoAHXXyJyRsU5T8S0qSeiuTI5NQEg-shkcQvvVQ2tY9nEtFboRanYNyswCo5BMfDTN-JQQAwFzM6TAggyHkfOjosqKc92ICJtdw-R2jVIwjqw\" alt=\"\" style=\"width:711px;height:400px\" width=\"711\" height=\"400\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">La Raspberry Pi Pico se ha convertido con \u00e9xito en un emulador de NES.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/forums.emulator-zone.com\/index.php?threads\/using-a-rasp-pico-board-to-emulate-nes.26986\/\">En un hilo del foro de Emulator Zone<\/a>, el usuario ropgar dijo que la Raspberry Pi Pico tiene el poder de emular una NES y puede hacer 60 cuadros por segundo y puede emular APU y PPP perfectamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ropgar utiliza un teclado PS\/2 como mando, pero tambi\u00e9n puedes utilizar el mando original de NES.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El sonido es bueno y no hay fallos en el v\u00eddeo ni en la m\u00fasica de fondo del juego.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El Pico tiene alrededor de 1,5 MB de espacio en la memoria flash para diferentes juegos, que se pueden elegir pulsando Caps Lock para cambiar de juego.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los juegos que ropgar logr\u00f3 cargar en su demo son Pacman, Arkanoids, DK, DK Jr, BubbleBobble, Galaga y muchos otros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El \u00fanico inconveniente es que no hay un c\u00f3digo fuente p\u00fablico ni un tutorial sobre c\u00f3mo hacerlo.<\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"895\" height=\"503\" src=\"https:\/\/www.youtube.com\/embed\/Kv9U1GouvYM\" title=\"Emulador de NES microcontrolado | 10 juegos en Flash | Raspberry Pi Pico RP2040 | VGA PS\/2 PWM Sonido\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<h2 class=\"wp-block-heading\">Emulador de Gameboy para la Raspberry Pi Pico<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Puedes hacer tu propia carcasa de Gameboy y luego utilizar la Raspberry Pi Pico para emular la Gameboy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La parte complicada aqu\u00ed es que en realidad no es algo que haya tenido mucho \u00e9xito. En otras palabras, lo que se construye puede funcionar, pero no siempre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos las opciones que existen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Emulador de Rust Gameboy (Puerto OxidGB Pico)<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/YqgqoXlZzzwpFSfIREDXY6DSQk1izJhDctOpEW_Gp9PHFaOGpt-dp-R69kNfXM5KnNrYiVbPJ7lmFhWYmfzlaRpflY6n2nanDID8gDFPVybw_HioK14eqzPlXJCSo-Y_jd3lylN_Rinln6dDkHeJe7smlhNhrnlKiNP2Az1d5pIMWAJPRqHEqEBNQQ\" alt=\"\" style=\"width:563px;height:622px\" width=\"563\" height=\"622\"\/><figcaption class=\"wp-element-caption\">Imagen de u\/j_selby (Reddit)<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Al ver la imagen de Pokemon en la pantalla, me emocion\u00e9 inmediatamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin embargo, James Selby escribi\u00f3 en realidad sobre los desaf\u00edos y deficiencias de su emulador de Gameboy, escrito en Rust, llamado OxidGB Pico Port.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\"Ha sido un viaje, un viaje frustrante, pero un viaje que he disfrutado mucho desde el punto de vista educativo\", dijo Selby.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Problemas y victorias<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Este es el principal reto: <strong>El emulador de Rust Gameboy \"no es exactamente jugable en su estado actual, por desgracia\".<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Selby dijo que los juegos s\u00f3lo consiguen unos 10 FPS porque el c\u00f3digo del emulador es un cuello de botella, as\u00ed como la lenta interfaz SPI de la pantalla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es posible acelerar las cosas, pero eso requerir\u00eda tiempo para planificar y aplicar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La entrada no ha sido configurada, ya que los juegos no eran jugables.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Prueba del puerto Pico OxidGB<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Si quieres probarlo, puedes seguir las instrucciones de Selby en su <a href=\"https:\/\/github.com\/j-selby\/oxidgb-pico\">Repo de Github para el puerto Pico de OxidGB.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Emulador RP2040_GB<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/0bdDowSlnfTQhTg-3nLzDxFTEEVtOYep7mVxwdu8oNXkYXop897px8u7TI-bh2UXy-rwj0sq3kL0_D-lLA3BLazxbALrBdj_OxwAaEMg24RzadMnR9sOC_L1lo4nYDlbjzcyr6FX49J_ngR0ebA0D2m-1E3mU1ft1NYCLCUV62W64eS-JW8L3XfnXQ\" alt=\"\" style=\"width:687px;height:298px\" width=\"687\" height=\"298\"\/><figcaption class=\"wp-element-caption\">Hardware y configuraci\u00f3n del emulador RP2040_GB, foto de Mahyar Koshkouei.<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Otro emulador que puedes probar es el <a href=\"https:\/\/github.com\/deltabeard\/RP2040-GB\">RP2040_GB<\/a>que se basa en el <a href=\"https:\/\/github.com\/deltabeard\/Peanut-GB\">Cacahuete-GB<\/a> emulador.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El rendimiento del RP2040_GB es decente, y Koshkouei afirma que su configuraci\u00f3n \"funciona a m\u00e1s de 70 fps sin emulaci\u00f3n de audio. Con salto de fotogramas y entrelazado, puede funcionar hasta a 120 fps\".<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como puedes ver, el RP2040_GB est\u00e1 jugando a Pokemon. Los pasos para poner una ROM en el RP2040 son los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Debe tener el SDK de Pico<\/li>\n\n\n\n<li>Convertir <strong>.gb<\/strong> o <strong>.gbc<\/strong> ROM a un archivo de cabecera de C utilizando el <strong>xxd <\/strong>programa<\/li>\n\n\n\n<li>Modificar el archivo convertido a\u00f1adiendo dos l\u00edneas de c\u00f3digo (en el readme de Github)<\/li>\n\n\n\n<li>Copiar la ROM en el <strong>src <\/strong>y compilar.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Este emulador tiene algunas limitaciones:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\"Este emulador es impreciso y es un trabajo en progreso... algunos juegos pueden ejecutarse incorrectamente o no ejecutarse en absoluto\".&nbsp;<\/li>\n\n\n\n<li>Los juegos de Gameboy Color arrojar\u00e1n un error<\/li>\n\n\n\n<li>No est\u00e1 optimizado para el microcontrolador: Koshkouei sugiri\u00f3 que \"utilizar una APU optimizada para el espacio y la velocidad\" puede ayudar.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/deltabeard\/RP2040-GB\">Consulte el repositorio Github del RP2040_GB aqu\u00ed.<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Compilaci\u00f3n de Mega Juegos con Raspberry Pi Pico<\/h2>\n\n\n\n<iframe loading=\"lazy\" width=\"893\" height=\"502\" src=\"https:\/\/www.youtube.com\/embed\/hXO0toLjDh0\" title=\"Compilaci\u00f3n de Juegos MEGA Adafruit RPI Pico\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<p class=\"wp-block-paragraph\">Lo mejor de este proyecto es que es sencillo y las instrucciones son adecuadas para que puedas empezar con una consola de juegos Raspberry Pi Pico r\u00e1pidamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Roger B\u00fchler tiene piezas, instrucciones y demostraciones incluidas en su Github.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La compilaci\u00f3n de Mega Games viene con los siguientes juegos:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Tiny Gilbert<\/li>\n\n\n\n<li>Peque\u00f1o truco<\/li>\n\n\n\n<li>Tiny Invaders v3.1<\/li>\n\n\n\n<li>Tiny Pinball v2<\/li>\n\n\n\n<li>Tiny Pacman v1.2<\/li>\n\n\n\n<li>Tiny Bomber v1.3<\/li>\n\n\n\n<li>Tiny Bike v1.2<\/li>\n\n\n\n<li>Tiny Bert 1.1<\/li>\n\n\n\n<li>Tiny Arkanoid v2<\/li>\n\n\n\n<li>Tiny Tris v2.1e<\/li>\n\n\n\n<li>Peque\u00f1a placa<\/li>\n\n\n\n<li>Tiny DDug<\/li>\n\n\n\n<li>Tiny Missile v1.1<\/li>\n\n\n\n<li>Tiny Lander v1.0 ( por Roger Buehler )<\/li>\n\n\n\n<li>Tiny Morpion<\/li>\n\n\n\n<li>Tiny Pipe<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Las piezas que necesitar\u00e1s son las siguientes:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Raspberry Pi Pico<\/li>\n\n\n\n<li>SSD1309 Pantalla OLED SPI de 128x64px (pantalla de 2,42\" con relaci\u00f3n 2:1)<\/li>\n\n\n\n<li>Zumbador piezoel\u00e9ctrico<\/li>\n\n\n\n<li>Cinco botones<\/li>\n\n\n\n<li>Tablero de pruebas<\/li>\n\n\n\n<li>Cables de arranque<\/li>\n\n\n\n<li>Opcional: resistencias de 10 ohmios, condensador electrol\u00edtico de al menos 10V y 220uF<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n necesitar\u00e1s <a href=\"https:\/\/github.com\/adafruit\/Adafruit_SSD1306\">Biblioteca SSD1306 de Adafruit<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>A continuaci\u00f3n te explicamos c\u00f3mo conectar la pantalla:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GND -&gt; Pantalla GND&nbsp;<\/li>\n\n\n\n<li>3V3(OUT) -&gt; Pantalla VCC&nbsp;<\/li>\n\n\n\n<li>GP16 -&gt; Visualizar DC (Comando de Datos)&nbsp;<\/li>\n\n\n\n<li>GP17 -&gt; Mostrar CS (Selecci\u00f3n de canal)&nbsp;<\/li>\n\n\n\n<li>GP18 -&gt; Pantalla SCL (Reloj)&nbsp;<\/li>\n\n\n\n<li>GP19 -&gt; Pantalla SDA (MOSI)&nbsp;<\/li>\n\n\n\n<li>GP20 -&gt; Pantalla RES (Reset)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Y para conectar los botones:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GP15 -&gt; bot\u00f3n ARRIBA&nbsp;<\/li>\n\n\n\n<li>GP14 -&gt; bot\u00f3n DOWN&nbsp;<\/li>\n\n\n\n<li>GP13 -&gt; bot\u00f3n IZQUIERDA&nbsp;<\/li>\n\n\n\n<li>GP12 -&gt; bot\u00f3n DERECHO&nbsp;<\/li>\n\n\n\n<li>GP11 -&gt; bot\u00f3n FIRE (todos los botones a GND)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Y para conectar el zumbador piezoel\u00e9ctrico:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GP10 -&gt; Zumbador(+)&nbsp;<\/li>\n\n\n\n<li>GND -&gt; Buzzer(-)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Instalaci\u00f3n del software:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para instalar el software, es necesario utilizar el IDE de Arduino.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Juego tipo Tamagotchi en la Raspberry Pi Pico (Pico-Tamachibi)<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/vq6-LhQ68o08Xgayc7U4roNHKcOCGtwxk8YL8nOnI33WP_yJlFjnxd2KDdtLgJn92vx2RRhSUb4Rn4OsP8vZNtQsmUjaUCUPc7JXmWvipgWewiXzSISGQ1qJWK8VtvT3lp1iypd3npcQzC4mL3NLTYhCAkGxXgpJoNYzBMsKEST4dSc4FeRU2Jqy3Q\" alt=\"\" style=\"width:727px;height:406px\" width=\"727\" height=\"406\"\/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">\u00bfPor qu\u00e9 se llama Pico-Tamachibi?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seg\u00fan Kevin McAleer, creador de este dispositivo, \"tama\" significa \"huevo\" y \"chibi\" se refiere a los gr\u00e1ficos en los que el personaje tiene una gran cabeza.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Crear el Tamachibi es f\u00e1cil porque Kevin explica cada paso en su tutorial de 90 minutos.<\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"1280\" height=\"720\" src=\"https:\/\/www.youtube.com\/embed\/btG3Pd8ZlBw\" title=\"C\u00f3digo de mascota virtual en MicroPython en la Raspberry Pi Pico - Pico-Tamachibi\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<h2 class=\"wp-block-heading\">Construya su propia m\u00e1quina de juego<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si quieres hacer tu propia m\u00e1quina de juegos Raspberry Pi Pico, hay dos formas generales de hacerlo: comprar un kit ya hecho o construir uno t\u00fa mismo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kit listo para usar frente a hardware de juegos Raspberry Pi Pico de bricolaje<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque es posible empezar desde cero, tal vez quieras evitar la molestia de crear tu propio sistema y comprar un paquete ya preparado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay algunos kits basados en el RP2040 que te permiten saltar directamente a jugar o desarrollar tus propios juegos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos el Pimoroni Picosystem y compar\u00e9moslo con el proceso de construcci\u00f3n de algo similar utilizando piezas individuales.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pimoroni Picosystem<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Echemos un vistazo al Pimoroni Picosystem.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"451\" src=\"https:\/\/lh3.googleusercontent.com\/6X2vym5Y-3rckNiwIQlPQlGAso1RbIGb-n9hETg6DPjKQGijYEqkk8p_WKD0sSOm9AeMhyLWM9hfKjBZgGx0_YQRvYEWqaEyK0sRjr7urrC4KOcZdl8JXVkIHYJI0DZ8ysG6_MC7BiZRaP_5AJFq7i19PzHAgL0nba9lRg06jnhuWXp2adZgN6SCIQ\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como puedes ver, es mucho m\u00e1s grande que la Raspberry Pi Pico W, pero eso tambi\u00e9n se debe a que tiene un D-pad de cuatro direcciones, cuatro botones, pantalla LCD, una bater\u00eda de iones de litio, un altavoz piezoel\u00e9ctrico y un puerto USB-C, entre otros a\u00f1adidos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tiene el mismo procesador y memoria RAM, ya que tanto el Picosystem como el Pico utilizan el chip RP2040. Aqu\u00ed est\u00e1n las especificaciones completas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Impulsado por el RP2040 (Dual Arm Cortex M0+ con 264kB de SRAM)<\/li>\n\n\n\n<li>16 MB de flash QSPI compatible con XiP<\/li>\n\n\n\n<li>Pantalla LCD SPI IPS en color de 1,54\u2033 (modos 240\u00d7240 y 120\u00d7120)<\/li>\n\n\n\n<li>D-pad y botones<\/li>\n\n\n\n<li>Bater\u00eda LiPo de 525mAh (6hrs+)<\/li>\n\n\n\n<li>Zumbador\/altavoz piezoel\u00e9ctrico<\/li>\n\n\n\n<li>Bot\u00f3n de encendido\/apagado<\/li>\n\n\n\n<li>LED RGB<\/li>\n\n\n\n<li>Programable y recargable mediante USB-C (cable no incluido)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Modos gr\u00e1ficos<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">PicoSystem admite dos modos de gr\u00e1ficos.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>240\u00d7240: la resoluci\u00f3n nativa del LCD<\/li>\n\n\n\n<li>120\u00d7120: modo de duplicaci\u00f3n de p\u00edxeles (ahorra RAM)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo es el juego en el Picosistema?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Jugar en el Picosistema es f\u00e1cil. S\u00f3lo tienes que pulsar el bot\u00f3n de encendido y te encontrar\u00e1s con el juego precargado llamado Super Square Bros.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El juego es un simple juego de plataformas muy parecido a Mario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pimoroni tambi\u00e9n ha incluido otros juegos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/scorpion-games-uk.itch.io\/super-square-bros\">Super Square Bros.<\/a> de Scorpion Games - Un juego de plataformas cuadril\u00e1tero y saltar\u00edn <strong>(juego precargado)<\/strong><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/Gadgetoid\/32blit-dots\/releases\">Puntos<\/a> - Rompecabezas de puntos. Crea cadenas de dos o m\u00e1s y compite para conseguir la mayor puntuaci\u00f3n.<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/32blit\/rocks-and-diamonds\/releases\">Rocas y diamantes<\/a> - El cl\u00e1sico juego de esquivar rocas y coger diamantes.<\/li>\n\n\n\n<li><a href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/files\/blit_v0.2.0_32blit-32blit-sdk-geometry.uf2?v=1633970589\">Geometr\u00eda<\/a> - Rompe las rocas espaciales con los l\u00e1seres para hacer rocas espaciales m\u00e1s peque\u00f1as.<\/li>\n\n\n\n<li><a href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/files\/blit_v0.2.0_32blit-32blit-sdk-scrolly-tile.uf2?v=1633970589\">Ascenso del arco iris<\/a> - El Dark Souls de los puzles de saltos verticales generados procedimentalmente. Buena suerte.<\/li>\n\n\n\n<li><a href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/files\/blit_v0.2.0_Daft-Freak-super-blit-kart.uf2?v=1634037972\">Super Blit Kart<\/a> por Daft_Freak - Un juego de carreras basado en \"Mode7\".<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Para instalar estos juegos, haz lo siguiente:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Descargue el archivo.<\/li>\n\n\n\n<li>Conecta tu Picosistema al PC<\/li>\n\n\n\n<li>Mantenga pulsado el bot\u00f3n X y pulse el bot\u00f3n de encendido.<\/li>\n\n\n\n<li>El Picosistema debe ser montado como una unidad llamada RPI-RP2<\/li>\n\n\n\n<li>Copie el archivo .uf2 descargado en la unidad. Se cargar\u00e1 autom\u00e1ticamente.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Por alguna raz\u00f3n, mi cable USB-C a USB-C no funcion\u00f3, pero el cable USB-A a USB-C funcion\u00f3 con el Picosystem. Si no ves que se enciende el LED rojo, prueba con otro cable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Programe sus propios juegos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lo mejor del Picosistema es que ofrece un sistema para que puedas crear tus propios juegos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En lugar de codificar desde cero, PicoSystem viene con una API especial que puede ayudarte a crear tus juegos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n elimina gran parte del tedioso trabajo necesario para comprar piezas individuales, como una pantalla LCD, botones, cables de puente, una placa de circuito impreso y luego averiguar las bibliotecas y los paquetes necesarios para que todo esto funcione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La API de PicoSystem tiene funciones para dibujar cosas en la pantalla, para emitir audio, funciones de hardware y otras funciones de utilidad. Esto hace que sea m\u00e1s f\u00e1cil para usted para construir su juego.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al igual que la Raspberry Pi Pico, el PicoSystem puede codificarse en C++ o MicroPython.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEs f\u00e1cil programar un juego con el Picosistema?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Te recomiendo que tengas algo de tiempo y paciencia para construir tu propio juego con el Picosistema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La documentaci\u00f3n ofrece lo b\u00e1sico para que puedas empezar, pero lo mejor ser\u00e1 que tengas alg\u00fan conocimiento previo de programaci\u00f3n de juegos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El mayor reto para los principiantes es que no hay muchos recursos que te ense\u00f1en a codificar proyectos de ejemplo. Sin embargo, aqu\u00ed hay una lista de referencias que te ayudar\u00e1n:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/pimoroni\/picosystem\/tree\/main\/micropython\">Gu\u00eda de Picosystem MicroPython (en el readme)<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/pimoroni\/picosystem\/tree\/main\/micropython\/examples\/picosystem\">Ejemplos de Picosystem MicroPython<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/pimoroni\/picosystem\">Picosistema C++ Github<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/pimoroni\/picosystem\/tree\/main\/examples\">Ejemplos de Picosystem C++<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/wiki.picosystem.com\/en\/c++\/cheatsheet\">Hoja de trucos de la API de Picosystem, adem\u00e1s de un convertidor de im\u00e1genes y fuentes<\/a> (en la barra lateral)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sistema de bricolaje: Creaci\u00f3n del hardware<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.youmaketech.com\/raspberry-pi-pico-retrogaming-system\/\">Gu\u00eda de YouMakeTech<\/a> gu\u00eda al lector a trav\u00e9s de c\u00f3mo hacer una consola de juegos completa con una carcasa, un sistema de sonido y una soldadura permanente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para nuestra comparaci\u00f3n, veamos cu\u00e1nto costar\u00eda construir una unidad de bricolaje frente al Picosystem, que es un kit completo.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><\/td><td>El sistema de juego de YMT<\/td><td>Pimoroni Picosystem<\/td><\/tr><tr><td>Caso<\/td><td>Opcional, impreso en 3D ($4,47 para los planos STL, m\u00e1s el filamento y los costes de alquiler\/operaci\u00f3n de la impresora 3D)<\/td><td>Incluye<\/td><\/tr><tr><td>Raspberry Pi Pico<\/td><td>$5 para Pico H porque necesitar\u00e1 los cabezales.<\/td><td>Incluye<\/td><\/tr><tr><td><a href=\"https:\/\/buyzero.de\/products\/waveshare-9092-0-96inch-oled-gerade-vertikale-stiftleiste?_pos=2&amp;_sid=c5e379f04&amp;_ss=r\">Pantalla OLED<\/a><\/td><td>$15 (pantalla de 0,96 pulgadas)<\/td><td>Incluye<\/td><\/tr><tr><td>Botones<\/td><td>Insignificante<\/td><td>Incluye<\/td><\/tr><tr><td><a href=\"https:\/\/buyzero.de\/products\/breadboard-kit?variant=39481121374388\">Tablero de pruebas<\/a><\/td><td>$15 (kit de placa)<\/td><td>Incluye<\/td><\/tr><tr><td>Cables de puente<\/td><td>Incluido en el kit de la protoboard<\/td><td>Incluye<\/td><\/tr><tr><td>Tornillos<\/td><td>Hasta $1<\/td><td>Incluye<\/td><\/tr><tr><td>Piezo<\/td><td>Insignificante&nbsp;<\/td><td>Incluye<\/td><\/tr><tr><td><strong>Coste total<\/strong><\/td><td>$40,47, sin incluir los costes de impresi\u00f3n 3D<\/td><td>$70<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos, pues, los costes finales de los distintos niveles de las configuraciones de bricolaje:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Configurar<\/strong><\/td><td><strong>Costes<\/strong><\/td><\/tr><tr><td>Sin bater\u00eda<\/td><td>$40,47 sin incluir los costes de impresi\u00f3n 3D<\/td><\/tr><tr><td>Bater\u00eda Lipo<\/td><td>$8<\/td><\/tr><tr><td>Pimoroni Pico Lipo<\/td><td>$16,39 - $4 (como estamos utilizando el sustituto de Pimoroni Pico, podemos deducir el coste de la Raspberry Pi Pico)<\/td><\/tr><tr><td>Total para un kit de bater\u00edas<\/td><td>$60,86 sin incluir los costes de impresi\u00f3n 3D<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00f3lo una advertencia - YouMakeTech dice que se puede construir esto por menos de $20. Sin embargo, seg\u00fan mi investigaci\u00f3n, los costes de una instalaci\u00f3n de bricolaje que coincida con el Picosystem no difieren mucho, especialmente si se tiene en cuenta el software y la comodidad.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/FiLN-p2QdPG59_fRj0q-0bH2W37KsnaaHC5IwHf2sFCsAe7iVU_zKNecqpcVLmjOeVC_ht3T5L_ONcPuC3eCODvHvYxar5mS-tnmf_wiJAi47JZfG0NV00NLMYN_U0k7k-89gxbynldhvCNXx-QSzlhDyD3qkOCBqTlTbXRNf0270w1j0LqTuXPE8A\" alt=\"\"\/><figcaption class=\"wp-element-caption\">El prototipo de YouMakeTech que tiene dos botones, una pantalla y puede jugar al Pong<\/figcaption><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Dicho esto, la ruta del bricolaje es una gran oportunidad de aprendizaje. Una cosa que me desafi\u00f3 fue la pantalla. Mientras que el ejemplo de YouMakeTech utiliza una conexi\u00f3n I2C, la pantalla que yo ten\u00eda utilizaba una interfaz SPI de 4 pines. Eso requiere un cambio en la codificaci\u00f3n o una modificaci\u00f3n del hardware para poder proceder. Si te gustan los retos, la ruta DIY es para ti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entonces, \u00bfcu\u00e1les son las ventajas de hacerlo t\u00fa mismo frente al Picosistema?<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Ventajas e inconvenientes<\/td><td>BRICOLAJE<\/td><td>Picosistema<\/td><\/tr><tr><td>Montaje del hardware<\/td><td>Lo haces todo t\u00fa mismo<\/td><td>Usted no hace nada de bricolaje<\/td><\/tr><tr><td>Software<\/td><td>Aqu\u00ed no hay mucha ayuda. Usted mismo hace el bricolaje de todo y aprende a manejar cada componente.<\/td><td>Tienes que aprender la API del Picosistema<\/td><\/tr><tr><td>Oportunidad de aprendizaje<\/td><td>Mayor oportunidad de aprendizaje, ya que se est\u00e1n juntando partes dispares<\/td><td>M\u00e1s peque\u00f1o. Ya est\u00e1 hecho y el software ser\u00e1 la mayor oportunidad de aprendizaje aqu\u00ed<\/td><\/tr><tr><td>Ampliaci\u00f3n<\/td><td>Ya que lo has construido, puedes cambiar la pantalla LCD, a\u00f1adir m\u00e1s botones, a\u00f1adir LEDs, etc.<\/td><td>No mucho, a menos que quieras desmontar un sistema completo.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Creaci\u00f3n del juego Pong en el sistema Picosystem vs DIY<\/h2>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"451\" src=\"https:\/\/lh3.googleusercontent.com\/RJq_cXB7E4foNOgagGJn3Dzcdlq3HwokXK7CgGKMkdkiGG7RNAdWhN0dKkejbY0GQiYaN9GGwxEQAv7Vv_SO9npoBi7pMIf3VSiKf_a_nfhBFkbJBzvFbWFcuEmMlf1XuvQHWvfm8YGU--7r4Vj1sI-X9ffH_z0OVY-ZhjuQLyhmCvHs0jHTlrg8Kg\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un curioso experimento m\u00edo consiste en saber cu\u00e1nto esfuerzo me costar\u00e1 desarrollar un juego utilizando el Picosistema frente a hacerlo desde cero.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para comparar los dos sistemas, voy a construir un juego tipo Pong para un jugador tanto en el sistema DIY de YouMakeTech como en el Picosystem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La premisa del juego es sencilla. Es un juego tipo Pong para un jugador que te da 10 puntos cada vez que tu bola rebota en la pala. Si cae al fondo de la pantalla, recibes un mensaje de \"Game Over\".<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video controls src=\"blob:https:\/\/picockpit.com\/fea315db-91fe-48eb-99ef-83129db07775\"><\/video><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La creaci\u00f3n del juego en ambos sistemas sigue un sencillo flujo de trabajo que todo lo lleva a Thonny.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tendr\u00edas que flashear MicroPython en el Pico y luego usar\u00e1s Thonny para codificar tu programa.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El MicroPython que se flashea en el Picosystem es diferente del archivo oficial de MicroPython UF2, as\u00ed que aseg\u00farate de que est\u00e1s flasheando el correcto porque el Picosystem funcionar\u00e1 con la versi\u00f3n oficial de MicroPython. S\u00f3lo que no funcionar\u00e1 como se pretende.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos ahora algunas diferencias fundamentales entre ambos. Aqu\u00ed excluyo la l\u00f3gica del juego y s\u00f3lo comparo las diferencias en la interacci\u00f3n hardware-software y los patrones de programaci\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/github.com\/YouMakeTech\/PicoRetroGamingSystem\/blob\/main\/PicoPong.py\">Puedes ver el c\u00f3digo de YouMakeTech aqu\u00ed.<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Primera diferencia: c\u00f3digo de hardware<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las cosas son muy \"crudas\" con la ruta DIY. Aqu\u00ed hay algo de c\u00f3digo para inicializar la pantalla, GPIO y botones que no necesitar\u00e1s hacer con el Picosistema:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"from machine import Pin, PWM, I2C,from ssd1306 import SSD1306_I2C\u2026# Buttonsup = Pin(2, Pin.IN, Pin.PULL_UP)down = Pin(3, Pin.IN, Pin.PULL_UP)left = Pin(4, Pin.IN, Pin.PULL_UP)right = Pin(5, Pin.IN, Pin.PULL_UP)button1 = Pin(6, Pin.IN, Pin.PULL_UP)button2 = Pin(7, Pin.IN, Pin.PULL_UP)# Buzzer connected to GP18buzzer = PWM(Pin(18))# OLED Screen connected to GP14 (SDA) and GP15 (SCL)i2c = machine.I2C(1, sda = Pin(14), scl = Pin(15), freq = 400000)oled = SSD1306_I2C(SCREEN_WIDTH, SCREEN_HEIGHT, i2c)\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">machine<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">PWM<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">I2C<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #81A1C1\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">ssd1306<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">import<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">SSD1306_I2C<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">\u2026<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #8FBCBB\">Buttons<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">up<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(2<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">IN<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">PULL_UP<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">down<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(3<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">IN<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">PULL_UP<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">left<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(4<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">IN<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">PULL_UP<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">right<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(5<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">IN<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">PULL_UP<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">button1<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(6<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">IN<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">PULL_UP<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">button2<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(7<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">IN<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">PULL_UP<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #8FBCBB\">Buzzer<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">connected<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">to<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">GP18<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">buzzer<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">PWM<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(18))<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\"># <\/span><span style=\"color: #8FBCBB\">OLED<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">Screen<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">connected<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">to<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">GP14<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">SDA<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #8FBCBB\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">GP15<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #8FBCBB\">SCL<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">i2c<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">machine<\/span><span style=\"color: #D8DEE9FF\">.<\/span><span style=\"color: #8FBCBB\">I2C<\/span><span style=\"color: #D8DEE9FF\">(1<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">sda<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(14)<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">scl<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">Pin<\/span><span style=\"color: #D8DEE9FF\">(15)<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">freq<\/span><span style=\"color: #D8DEE9FF\"> = 400000)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #8FBCBB\">oled<\/span><span style=\"color: #D8DEE9FF\"> = <\/span><span style=\"color: #8FBCBB\">SSD1306_I2C<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #8FBCBB\">SCREEN_WIDTH<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">SCREEN_HEIGHT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #8FBCBB\">i2c<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Segunda diferencia: La API de Picosystem<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si est\u00e1s escribiendo c\u00f3digo en el Picosistema, tendr\u00edas que escribir dentro de su sistema.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el ejemplo de YouMakeTech, toda la l\u00f3gica del juego est\u00e1 encapsulada en un <strong>mientras sea cierto<\/strong> bucle. Esto incluye la interacci\u00f3n con los botones, la detecci\u00f3n de colisiones y el dibujo en la pantalla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el Picosistema, se requiere escribir dentro de tres funciones - <strong>init(), update() <\/strong>y <strong>dibujar()<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En mi c\u00f3digo, toda la l\u00f3gica del juego est\u00e1 escrita en <strong>actualizar() <\/strong>incluyendo el manejo de colisiones y la interacci\u00f3n con el D-pad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En un simple juego de Pong, hay algunas funciones de la API que utilic\u00e9 que facilitaron un poco las cosas:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>intersecta(x1, y1, w1, h1, x2, y2, w2, h2)&nbsp; <\/strong>es probablemente la mayor ayuda aqu\u00ed. Pasar\u00edas las coordenadas y tama\u00f1os de los dos cuadrados y devolver\u00eda true si hay una intersecci\u00f3n. En este caso, los dos rect\u00e1ngulos son la pelota y la barra (tambi\u00e9n conocida como paleta). El defecto de la funci\u00f3n intersects() es que no detecta en qu\u00e9 lado se ha producido la colisi\u00f3n, as\u00ed que he tenido que escribir c\u00f3digo adicional para tratar las colisiones en el lado de la barra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La API de Picosystem brillar\u00e1 realmente cuando desarrolles juegos m\u00e1s complicados, dado que ya tiene un m\u00e9todo para los framebuffers, la salida de audio, la mezcla, etc.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3digo del juego Pimoroni Picosystem Pong-like<\/h2>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewbox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"#bar_pos_x = pixels from left, e.g. 0 from leftbar_pos_x = 50#bar_pos_y = pixels from top, e.g. 100px from topbar_pos_y = 100BAR_WIDTH = 30LENGTH_CONSTANT = 5ball_speed = 1ball_pos_x = 10ball_pos_y = 10ball_dx = 2ball_dy = 2score = 0game_over = Falsedef update(tick):        global bar_pos_x    global bar_pos_y    global ball_pos_x    global ball_pos_y    global ball_dx    global ball_dy    global ball_speed    global score    global game_over        def reverse_ball_dx():        global ball_dx        ball_dx = ball_dx * -1            def reverse_ball_dy():        global ball_dy        ball_dy = ball_dy * -1        ball_pos_x += ball_dx    ball_pos_y += ball_dy        if button(LEFT) and bar_pos_x &gt; 0:        bar_pos_x -= 1        if button(RIGHT) and bar_pos_x < 120 - BAR_WIDTH :        bar_pos_x += 1            if ball_pos_x <= 0 :        ball_pos_x = 0        reverse_ball_dx()            if ball_pos_x &gt;= 120 - LENGTH_CONSTANT :        ball_pos_x = 120 - LENGTH_CONSTANT        reverse_ball_dx()            if ball_pos_y &gt;= 120 - LENGTH_CONSTANT :        game_over = True            if ball_pos_y <= 0:        ball_pos_y = 0        reverse_ball_dy()            if intersects(bar_pos_x,bar_pos_y,BAR_WIDTH,LENGTH_CONSTANT, ball_pos_x, ball_pos_y, LENGTH_CONSTANT,LENGTH_CONSTANT):                reverse_ball_dy()        score += 10                #main intersection of ball and bar. if they intersect, check if they are intersecting on the sides.        #if not on sides (i.e. on top) reverse Y direction. Or else, reverse X direction.        if intersects(bar_pos_x,bar_pos_y,1,LENGTH_CONSTANT, ball_pos_x, ball_pos_y, LENGTH_CONSTANT,LENGTH_CONSTANT):                        #intersecting on left                        reverse_ball_dx()            ball_pos_x -= 2                    if intersects(bar_pos_x + BAR_WIDTH,bar_pos_y,1,LENGTH_CONSTANT, ball_pos_x, ball_pos_y, LENGTH_CONSTANT,LENGTH_CONSTANT):                        #intersecting on right                        reverse_ball_dx()            ball_pos_x += 2        def draw(tick):        if game_over:        pen(0,0,0)        clear()        pen(15,15,15)        text(&quot;Game Over&quot;, 35, 60)                    else:        pen(0, 0, 0)        clear()        pen(15,15,15)            #draw bar (paddle)        frect(bar_pos_x,bar_pos_y,BAR_WIDTH,LENGTH_CONSTANT)            #draw the ball        frect(ball_pos_x, ball_pos_y, LENGTH_CONSTANT,LENGTH_CONSTANT)        text(str(score), 80, 20)    start()\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copia\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewbox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code data-no-translation=\"\"><span class=\"line\"><span style=\"color: #D8DEE9FF\">#<\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pixels<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">left<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">e<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">g<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">left<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">50<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">#<\/span><span style=\"color: #D8DEE9\">bar_pos_y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">pixels<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">top<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">e<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">g<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> 100<\/span><span style=\"color: #D8DEE9\">px<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">from<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">top<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">bar_pos_y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">100<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">BAR_WIDTH<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">30<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">5<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">ball_speed<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">ball_dx<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">ball_dy<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">score<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">game_over<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">False<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">update<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">tick<\/span><span style=\"color: #D8DEE9FF\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bar_pos_y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dx<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_speed<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">score<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">game_over<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">reverse_ball_dx<\/span><span style=\"color: #D8DEE9FF\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dx<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">ball_dx<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dx<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">reverse_ball_dy<\/span><span style=\"color: #D8DEE9FF\">():<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">global<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">ball_dy<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dy<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">*<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dx<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_dy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">button<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">LEFT<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">button<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">RIGHT<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">120<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> BAR_WIDTH <\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">1<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\"> :<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">reverse_ball_dx<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">120<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> LENGTH_CONSTANT <\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">120<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">reverse_ball_dx<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&gt;=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">120<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-<\/span><span style=\"color: #D8DEE9FF\"> LENGTH_CONSTANT <\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">game_over<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">True<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">&lt;=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">reverse_ball_dy<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">intersects<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">bar_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">BAR_WIDTH<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #D8DEE9FF\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">reverse_ball_dy<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #D8DEE9\">score<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">10<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        #<\/span><span style=\"color: #D8DEE9\">main<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">intersection<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">of<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">and<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">bar<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">they<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">intersect<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">check<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">they<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">are<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">intersecting<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">sides<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        #<\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">not<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">sides<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #D8DEE9\">i<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9\">e<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">top<\/span><span style=\"color: #D8DEE9FF\">) <\/span><span style=\"color: #D8DEE9\">reverse<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Y<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">direction<\/span><span style=\"color: #ECEFF4\">.<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">Or<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">else<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">reverse<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">X<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">direction<\/span><span style=\"color: #ECEFF4\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">intersects<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">bar_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #D8DEE9FF\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            #<\/span><span style=\"color: #D8DEE9\">intersecting<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">left<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">reverse_ball_dx<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">-=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">intersects<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">BAR_WIDTH<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">bar_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">1<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #D8DEE9FF\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            #<\/span><span style=\"color: #D8DEE9\">intersecting<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">on<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">right<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #88C0D0\">reverse_ball_dx<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">            <\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">+=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">2<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9\">def<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">draw<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">tick<\/span><span style=\"color: #D8DEE9FF\">):<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">if<\/span><span style=\"color: #D8DEE9FF\"> game_over<\/span><span style=\"color: #ECEFF4\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">pen<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">clear<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">pen<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #B48EAD\">15<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">15<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">15<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">text<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #A3BE8C\">Game Over<\/span><span style=\"color: #ECEFF4\">&quot;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">35<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">60<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">else<\/span><span style=\"color: #D8DEE9FF\">:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">pen<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">0<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">clear<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">pen<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #B48EAD\">15<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">15<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #B48EAD\">15<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        #<\/span><span style=\"color: #D8DEE9\">draw<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #88C0D0\">bar<\/span><span style=\"color: #D8DEE9FF\"> (<\/span><span style=\"color: #D8DEE9\">paddle<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">frect<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">bar_pos_x<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">bar_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">BAR_WIDTH<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        #<\/span><span style=\"color: #D8DEE9\">draw<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">the<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">frect<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">ball_pos_x<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">ball_pos_y<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9\">LENGTH_CONSTANT<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">        <\/span><span style=\"color: #88C0D0\">text<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #88C0D0\">str<\/span><span style=\"color: #D8DEE9FF\">(<\/span><span style=\"color: #D8DEE9\">score<\/span><span style=\"color: #D8DEE9FF\">)<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">80<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #B48EAD\">20<\/span><span style=\"color: #D8DEE9FF\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">start<\/span><span style=\"color: #D8DEE9FF\">()<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfTiene alg\u00fan juego que recomendar?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si tienes un juego para la Raspberry Pi Pico, deja un comentario abajo con una URL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y si desea consultar nuestra serie Paragon Projects, vaya a <a href=\"https:\/\/picockpit.com\/raspberry-pi\/category\/paragon-projects\/\">aqu\u00ed<\/a>.<\/p>\n<div class=\"shariff shariff-align-center shariff-widget-align-left shariff-buttonstretch\"><ul class=\"shariff-buttons theme-white orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fes%2Fjuegos-en-la-frambuesa-pi-pico%2F&text=Gaming%20on%20the%20Raspberry%20Pi%20Pico\" title=\"Compartir en X\" aria-label=\"Compartir en X\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#000\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#000\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#000\">compartir<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fes%2Fjuegos-en-la-frambuesa-pi-pico%2F\" title=\"Compartir en Facebook\" aria-label=\"Compartir en Facebook\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#3b5998\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#3b5998\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#3b5998\">compartir<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button telegram shariff-nocustomcolor\" style=\"background-color:#4084A6\"><a href=\"https:\/\/telegram.me\/share\/url?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fes%2Fjuegos-en-la-frambuesa-pi-pico%2F&text=Gaming%20on%20the%20Raspberry%20Pi%20Pico\" title=\"Compartir en Telegram\" aria-label=\"Compartir en Telegram\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0088cc; color:#0088cc\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#0088cc\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 32 32\"><path fill=\"#0088cc\" d=\"M30.8 6.5l-4.5 21.4c-.3 1.5-1.2 1.9-2.5 1.2L16.9 24l-3.3 3.2c-.4.4-.7.7-1.4.7l.5-7L25.5 9.2c.6-.5-.1-.8-.9-.3l-15.8 10L2 16.7c-1.5-.5-1.5-1.5.3-2.2L28.9 4.3c1.3-.5 2.3.3 1.9 2.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#0088cc\">compartir<\/span>&nbsp;<\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fpicockpit.com%2Fraspberry-pi%2Fes%2Fjuegos-en-la-frambuesa-pi-pico%2F\" title=\"Compartir en Reddit\" aria-label=\"Compartir en Reddit\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#ff4500\" target=\"_blank\"><span class=\"shariff-icon\" style=\"fill:#ff4500\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewbox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span class=\"shariff-text\" style=\"color:#ff4500\">compartir<\/span>&nbsp;<\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>En este post, quiero hablar sobre los juegos en la Raspberry Pi Pico. Recuerdo mi primer dumbphone, que entonces se llamaba \"tel\u00e9fono\". Pod\u00eda jugar a juegos sencillos como Snake. Eso era tecnolog\u00eda punta. Antes de eso, ten\u00edas que llevar un dispositivo port\u00e1til separado que jugaba al Tetris o...<\/p>","protected":false},"author":2,"featured_media":2946,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[525,528,510,527,187,526],"class_list":["post-2944","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-raspberry-pi-pico","tag-gameboy","tag-picosystem","tag-pimoroni","tag-pong","tag-raspberry-pi","tag-tamagotchi"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Gaming on the Raspberry Pi Pico | PiCockpit<\/title>\n<meta name=\"description\" content=\"Gaming on the Raspberry Pi Pico is an awesome way to emulate consoles and is a great platform to learn to program your own games.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/picockpit.com\/raspberry-pi\/es\/juegos-en-la-frambuesa-pi-pico\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gaming on the Raspberry Pi Pico | PiCockpit\" \/>\n<meta property=\"og:description\" content=\"Gaming on the Raspberry Pi Pico is an awesome way to emulate consoles and is a great platform to learn to program your own games.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/picockpit.com\/raspberry-pi\/es\/juegos-en-la-frambuesa-pi-pico\/\" \/>\n<meta property=\"og:site_name\" content=\"PiCockpit\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/pi3gshop\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-17T11:44:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-23T10:43:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1778\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"raspi berry\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@pi3g\" \/>\n<meta name=\"twitter:site\" content=\"@pi3g\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"raspi berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/\"},\"author\":{\"name\":\"raspi berry\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\"},\"headline\":\"Gaming on the Raspberry Pi Pico\",\"datePublished\":\"2022-09-17T11:44:21+00:00\",\"dateModified\":\"2023-08-23T10:43:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/\"},\"wordCount\":3348,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/featured-image.jpg\",\"keywords\":[\"Gameboy\",\"picosystem\",\"Pimoroni\",\"Pong\",\"Raspberry Pi\",\"Tamagotchi\"],\"articleSection\":[\"Raspberry Pi Pico\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/\",\"name\":\"Gaming on the Raspberry Pi Pico | PiCockpit\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/featured-image.jpg\",\"datePublished\":\"2022-09-17T11:44:21+00:00\",\"dateModified\":\"2023-08-23T10:43:28+00:00\",\"description\":\"Gaming on the Raspberry Pi Pico is an awesome way to emulate consoles and is a great platform to learn to program your own games.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#primaryimage\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/featured-image.jpg\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/featured-image.jpg\",\"width\":1778,\"height\":1000,\"caption\":\"games on raspberry pi pico\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/gaming-on-the-raspberry-pi-pico\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raspberry Pi Pico\",\"item\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/category\\\/raspberry-pi-pico\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Gaming on the Raspberry Pi Pico\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#website\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"name\":\"PiCockpit\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#organization\",\"name\":\"PiCockpit.com\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"contentUrl\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/Screenshot-from-2023-07-24-15-01-24.png\",\"width\":1165,\"height\":283,\"caption\":\"PiCockpit.com\"},\"image\":{\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/pi3gshop\",\"https:\\\/\\\/x.com\\\/pi3g\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/#\\\/schema\\\/person\\\/7af3a7a8c999bc722029ef9ca9d78eee\",\"name\":\"raspi berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g\",\"caption\":\"raspi berry\"},\"description\":\"I'm here to help you with all your Raspberry Pi related questions &amp; love to share about new project ideas for the Raspberry Pi, and give quick tips. Of course I'll also help you with PiCockpit and how to make your Raspberry Pi even easier to use with this raspberry pi monitoring solution :-)\",\"sameAs\":[\"https:\\\/\\\/picockpit.com\"],\"url\":\"https:\\\/\\\/picockpit.com\\\/raspberry-pi\\\/es\\\/author\\\/raspi-berry\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Juegos en la Raspberry Pi Pico | PiCockpit","description":"Jugar en la Raspberry Pi Pico es una manera impresionante de emular consolas y es una gran plataforma para aprender a programar tus propios juegos.","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:\/\/picockpit.com\/raspberry-pi\/es\/juegos-en-la-frambuesa-pi-pico\/","og_locale":"es_ES","og_type":"article","og_title":"Gaming on the Raspberry Pi Pico | PiCockpit","og_description":"Gaming on the Raspberry Pi Pico is an awesome way to emulate consoles and is a great platform to learn to program your own games.","og_url":"https:\/\/picockpit.com\/raspberry-pi\/es\/juegos-en-la-frambuesa-pi-pico\/","og_site_name":"PiCockpit","article_publisher":"https:\/\/www.facebook.com\/pi3gshop","article_published_time":"2022-09-17T11:44:21+00:00","article_modified_time":"2023-08-23T10:43:28+00:00","og_image":[{"width":1778,"height":1000,"url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image.jpg","type":"image\/jpeg"}],"author":"raspi berry","twitter_card":"summary_large_image","twitter_creator":"@pi3g","twitter_site":"@pi3g","twitter_misc":{"Escrito por":"raspi berry","Tiempo de lectura":"16 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#article","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/"},"author":{"name":"raspi berry","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee"},"headline":"Gaming on the Raspberry Pi Pico","datePublished":"2022-09-17T11:44:21+00:00","dateModified":"2023-08-23T10:43:28+00:00","mainEntityOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/"},"wordCount":3348,"commentCount":1,"publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image.jpg","keywords":["Gameboy","picosystem","Pimoroni","Pong","Raspberry Pi","Tamagotchi"],"articleSection":["Raspberry Pi Pico"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/","url":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/","name":"Juegos en la Raspberry Pi Pico | PiCockpit","isPartOf":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#primaryimage"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#primaryimage"},"thumbnailUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image.jpg","datePublished":"2022-09-17T11:44:21+00:00","dateModified":"2023-08-23T10:43:28+00:00","description":"Jugar en la Raspberry Pi Pico es una manera impresionante de emular consolas y es una gran plataforma para aprender a programar tus propios juegos.","breadcrumb":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#primaryimage","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image.jpg","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2022\/09\/featured-image.jpg","width":1778,"height":1000,"caption":"games on raspberry pi pico"},{"@type":"BreadcrumbList","@id":"https:\/\/picockpit.com\/raspberry-pi\/gaming-on-the-raspberry-pi-pico\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/picockpit.com\/raspberry-pi\/"},{"@type":"ListItem","position":2,"name":"Raspberry Pi Pico","item":"https:\/\/picockpit.com\/raspberry-pi\/category\/raspberry-pi-pico\/"},{"@type":"ListItem","position":3,"name":"Gaming on the Raspberry Pi Pico"}]},{"@type":"WebSite","@id":"https:\/\/picockpit.com\/raspberry-pi\/#website","url":"https:\/\/picockpit.com\/raspberry-pi\/","name":"PiCockpit","description":"","publisher":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/picockpit.com\/raspberry-pi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/picockpit.com\/raspberry-pi\/#organization","name":"PiCockpit.com","url":"https:\/\/picockpit.com\/raspberry-pi\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/","url":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","contentUrl":"https:\/\/picockpit.com\/raspberry-pi\/wp-content\/uploads\/2023\/07\/Screenshot-from-2023-07-24-15-01-24.png","width":1165,"height":283,"caption":"PiCockpit.com"},"image":{"@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/pi3gshop","https:\/\/x.com\/pi3g"]},{"@type":"Person","@id":"https:\/\/picockpit.com\/raspberry-pi\/#\/schema\/person\/7af3a7a8c999bc722029ef9ca9d78eee","name":"baya raspada","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c10c423ceeff34163dd54a5472d6da17d71c0e360e0cf8cdb8847006372f216b?s=96&d=blank&r=g","caption":"raspi berry"},"description":"Estoy aqu\u00ed para ayudarte con todas tus preguntas relacionadas con la Raspberry Pi y me encanta compartir sobre nuevas ideas de proyectos para la Raspberry Pi, y dar consejos r\u00e1pidos. Por supuesto, tambi\u00e9n te ayudar\u00e9 con PiCockpit y c\u00f3mo hacer que tu Raspberry Pi sea a\u00fan m\u00e1s f\u00e1cil de usar con esta soluci\u00f3n de monitoreo de la frambuesa Pi :-)","sameAs":["https:\/\/picockpit.com"],"url":"https:\/\/picockpit.com\/raspberry-pi\/es\/author\/raspi-berry\/"}]}},"_links":{"self":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/posts\/2944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/comments?post=2944"}],"version-history":[{"count":8,"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/posts\/2944\/revisions"}],"predecessor-version":[{"id":4882,"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/posts\/2944\/revisions\/4882"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/media\/2946"}],"wp:attachment":[{"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/media?parent=2944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/categories?post=2944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/picockpit.com\/raspberry-pi\/es\/wp-json\/wp\/v2\/tags?post=2944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}