home.social

#juego-de-la-vida — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #juego-de-la-vida, aggregated by home.social.

fetched live
  1. Este es un articulo perteneciente al proyecto https://interlan.ec/2021/09/08/el-juego-de-la-v…nilla-javascript/ ‎publicado el 8 Sep 2021 que no había notado que no estaba enlazado, ni en este blog ni en la documentación. He creado este archivo y hecho correcciones a la documentación con el fin de tener ya un resultado final satisfactorio. Se pueden ver los cambios en mi nuevo repo git 

    Analisis de la situacion

    Tabla de contenidos

    • Analisis de la situacion
      • Tabla de contenidos
      • Introduccion
      • Codigo Heredado/Legado
        • Estructura básica de una pagina web.
        • El archivo Index.html
      • Bibliografia

    Introduccion

    Cuando quise este estudiar este codigo, pense que solo seria cuestion de copiar y pegar para verlo funcionando, pero me encontré que he compartido irresponsablemente algo que no le seriviria a nadie. Muy especialmente es notable que falten grandes trozos de codigo y que no haya comentarios significativos. Por eso y como practica para mi, he decidido explorarlo y reescribirlo en vainilla javascript, agregando comentarios detallados que permitan a los interesados en estudiar el codigo aprender mas facilmente como funciona.

    Mientras realizaba este analisis, tambien fui descubriendo que podia agregar nuevas cosas interesantes, que describire mas adelante, pero por el momento, el primer desafio era, el codigo en el que me basé para hacer el mio.

    Codigo Heredado/Legado

    Segun la wikipedia:

    Legacy code o código heredado es código fuente relacionado con un sistema operativo o una tecnología de computación sin soporte técnico. El término también puede aplicarse a código insertado en software más moderno para integrar u ofrecer soporte a una función creada en el pasado; por ejemplo dar soporte a una interfaz en serie incluso aunque muchos sistemas modernos no tienen un puerto serial. (wikipedia,2021)

    Luego de investigar con mas empeño este codigo y su autor, he encontrado un repositorio de GitHub. Si bien este codigo puede encontrarse en aqui, solo está el codigo javascript, sin el archivo index.html necesario para poder ejecutar la practica. en el mismo repositorio es posible encontrar un enlace a un servidor actualmente inactivo.

    Titulo: El sitio de Pulgarín esta muerto desde quien sabe cuando

    Fuente: Elaboración propia

    Por esta razon, comenzaremos analizando las partes necesarias para la creacion de una pagina web con javascript.

    Estructura básica de una pagina web.

    Una pagina web no es mas que un documento escrito con HTML.

    HTML es un lenguaje de etiquetas con las que se define la estructura del documento. Se caracteriza por ser facil de interpretar, tanto por maquinas como por humanos y es el estandar para las paginas web hasta el momento. A pesar de que es un estandar, sufre cambios a lo largo del tiempo para poder agregar y quitar caracteristicas que le permitan funcionar mejor en diferentes dispositivos, por lo que un codigo muy antiguo podria no funcionar en navegadores muy modernos.

    La version mas actual de HTML es la 5 y la que uso actualmente. Publicada en el año 2014, estandarizo muchas etiquetas nuevas que hasta ese momento podrian estar limitadas solo a ciertos navegadores que las interpretaran correctamente. En este caso, la etiqueta canvas existe desde el año 2004 de la mano de Apple en su navegador Safari, y entre el año 2005 y 2006 fue adoptado por los motores de gecko y opera, obviamente dejando a internet explorer al margen de su uso wikipedia,2021

    La estructura básica de un documento HTML es la siguiente:

    <html>    <head>    </head>    <body>    </body>    <foot>    </foot></html>

    Las etiquetas se caracterizan por estar cerradas entre parentesis angulares «<>» donde la primera palabra dentro de ellas es el nombre de la etiqueta que los identifica. las palabras que se agreguen a la etiqueta seran considerados atributos, por ejemplo \donde el par «lang=’es'» permite al navegador determinar el idioma del documento.

    Las etiquetas html tienen una jerarquia, donde cada elemento puede contener otros elementos. para eso, cada etiqueta que abre, debe cerrar con otra con el mismo nombre, pero usando una barra diagonal antes de el. por ejemplo \

    Hay mas cosas para abarcar sobre html, especialmente sobre la web semantica, la cual es una buena practica para todo tipo de paginas web si quieren ser lo mas accesibles posible, pero por ahora nos vamos a concentrar en la reconstruccion del codigo que nos interesa.

    El archivo Index.html

    El punto de inicio de todo sitio web es el archivo index.html, aunque esto puede cambiar de acuerdo al servidor. En realidad el archivo puede tener cualquier nombre siempre y cuando se comience a navegar por el, pues es quien contiene los enlaces iniciales para la primera navegacion.

    Dado que carecemos de un archivo html del cual partir, construiremos uno propio, sin grandes pretenciones para ver nuestro codigo funcionar.

    <html>    <head>    </head>    <body>    </body></html>

    Hay que recordar que los documentos html se cargan en la memoria haciendo un barrido desde el principio hasta el final del mismo, por lo que cada etiqueta solo tendra disponible en la memoria del dispositivo, solo lo que haya sido cargado hasta el momento en el que ella sea cargada. por lo que, por ejemplo, si hay elementos con estilos css en la etiqueta body y los archivos CSS no han sido cargados todavia, apareceran sin formato alguno. De la misma forma, el codigo javascript no podra acceder a etiquetas que no existan hasta el momento en el que ellas sean cargadas.

    Por esta razon, cualquier script que se desee ejecutar, deberia ser cargado hasta el final del documento;

    <html>    ...    <script src="..."></html>

    O en su defecto, utilizar un metodo onLoad en javascript que permita esperar a que se cargue todo el documento antes de intentar acceder al mismo.

    Bibliografia

    Código Heredado(2021), Obtenido de la wikipedia

    Canvas Element(2021), Obtenido de la wikipedia

    https://interlan.ec/2025/12/10/analisis-de-situacion/

    #bitacora #javascript #juegoDeLaVida #programacion

  2. Todo empezó con un meme sobre las torres de Hanoi y luego fui asociando ideas hasta recordar al bueno de Arthur Clarke dándole computadoras a los pobres monjes tibetanos.

    El meme en cuestión

    En mis inicios en la programación me toco hacer uno, para ser un juego de niños, es aterrador. Luego leo el lore del condenado juego ese y encima sirve para predecir el fin del mundo. Es interesante como la mayoría de los juegos matemáticos, pueden servir para practicar programación, como el juego de la vida, por ejemplo.

    Las torres de Hanói

    El juego, en su forma más tradicional, consiste en tres varillas verticales. En una de las varillas se apila un número indeterminado de discos (elaborados de madera) que determinará la complejidad de la solución, por regla general se consideran ocho discos. Los discos se apilan sobre una varilla en tamaño decreciente. No hay dos discos iguales, y todos ellos están apilados de mayor a menor radio en una de las varillas, quedando las otras dos varillas vacantes. El juego consiste en pasar todos los discos de la varilla ocupada (es decir la que posee la torre) a una de las otras varillas vacantes. Para realizar este objetivo, es necesario seguir tres simples reglas:

    • Sólo se puede mover un disco cada vez.
    • Un disco de mayor tamaño no puede descansar sobre uno más pequeño que él mismo.
    • Sólo puedes desplazar el disco que se encuentre arriba en cada varilla.

    La historia de las torres de Hanoi

    Se cuenta una historia sobre un templo en la India en Kashi Vishwanath que contiene una gran sala con tres postes gastados por el tiempo, rodeada de 100 discos dorados. Los sacerdotes de Brahma, actuando bajo el mandato de una antigua profecía, han estado moviendo estos discos de acuerdo con las reglas inmutables de Brahma desde ese momento. Por lo tanto, el acertijo también se conoce como el rompecabezas de la Torre de Brahma. Según la leyenda, cuando se complete el último movimiento del rompecabezas, el mundo se terminará.

    Los nueve mil millones de nombres de Dios

    Como dato adicional, esto me ha recordado a Arthur Clarke, quien hizo un relato.

    No tengo idea de si lo hizo pensando en las torres de Hanói, pero también se ambienta en el mundo budista. Solo que en su caso, la tarea de los monjes era ir probando combinaciones de nombres hasta dar con el nombre de Dios. Una tarea que tardaría sus milloncitos de años hasta que los protas del relato van a darle una compu a los monjes para que trabajen mas rápido. Y así fue. apenas terminaron de instalar la maquina, se acabo el mundo XD

    Los nueve mil millones de nombres de Dios

    La rápida noche de las alturas del Himalaya casi se les echaba encima. Afortunadamente, el camino era muy bueno, como la mayoría de los de la región, y ellos iban equipados con linternas. No había el más ligero peligro: solo cierta incomodidad causada por el intenso frío. El cielo estaba perfectamente despejado e iluminado por las familiares y amistosas estrellas. Por lo menos, pensó George, no habría riesgo de que el piloto no pudiese despegar a causa de las condiciones del tiempo. Esta había sido su última preocupación. Se puso a cantar, pero lo dejó al cabo de poco. El vasto escenario de las montañas, brillando por todas partes como fantasmas blancuzcos encapuchados, no animaba a esta expansión. De pronto, George consultó su reloj.

    -Estaremos allí dentro de una hora -dijo, volviéndose hacia Chuck. Después, pensando en otra cosa, añadió-: Me pregunto si la computadora habrá terminado su trabajo. Estaba calculado para esta hora.

    Chuck no contestó, así que George se volvió completamente hacia él. Pudo ver la cara de Chuck: era un óvalo blanco vuelto hacia el cielo.

    -Mira -susurró Chuck; George alzó la vista hacia el espacio. (Siempre hay una última vez para todo.)

    Arriba, sin ninguna conmoción, las estrellas se estaban apagando.

    FIN

    Arthur Clarke

    https://interlan.ec/2024/03/04/articulo-las-torres-de-hanoi-y-los-nueve-mil-millones-de-nombres-de-dios/

    #aprendizaje #juegoDeLaVida #juegos #juegosMatemáticos #memes #programación