lunes, 2 de enero de 2023

Obtener el valor default de una propiedad CSS con Javascript

Un día me dio curiosidad saber qué display tiene un elemento HTML por default.
¿Cuál es el display de un <button>, <p>, <img>, <input>, <span>? 

Si bien hay sitios que ya tienen esa documentación, yo quería saber cómo obtener dicha información con JavaScript y pues...  googleando, uno también llega a aprender cosas interesantes.

Vamos a suponer que creo un <input> y quiero saber no sólo su display, sino también qué width tiene por defecto, el border  que se le da al <input>, etc.
La solución con la que llegue fue simple:





sábado, 10 de diciembre de 2022

El hoisting con javascript

Este termino es un tema que me ha costado trabajo asimilar. De acuerdo con el curso básico de javascript que tomé en platzi:  

Hoisting es un término para describir que las declaraciones de variables y funciones son desplazadas a la parte superior del scope más cercano, scope global o de función. Esto sucede solamente con var y function .

Además de que esto ya no sucede con Ecmascript 6 sino con las versiones anteriores.

¿Qué me da a entender esto?

Pues que al declarar una variable o una función declarativa después de ser usadas (invocadas) en el código, el motor de javascript lo que hace es declararlas antes de ejecutar el código linea por linea. O en otras palabras desplazarlas a la parte superior del scope más cercano. 

  • Así, el valor de una variable usada antes de su declaración sería: undefined.
  • En el caso de una función  declarativa,  esta sí sería reconocida y podría ser usada como si se declarara antes de su invocación. 

  • A continuación muestro algunos ejemplos de mis apuntes del curso. Estos ejemplos se pueden replicar desde la consola del navegador presionando F12.

    Usando var


    Usando let

    Usando const

    Sin usar var, const y let

    Con una función declarativa sí hay hoisting

    Con una función expresiva no hay hoisting.



    domingo, 3 de julio de 2022

    Jugando a una precisión del 92%

    Ahora con las herramientas de análisis de chesscom, también puedes obtener la precisión de juego de una partida de ajedrez. Este porcentaje indica a grandes rasgos la exactitud con la que se juega en términos de asertividad/error.
    Los usuarios premium pueden obtener una infinidad de análisis. Mientras los que no pagan cómo yo es solamente un análisis por día. 

    domingo, 13 de febrero de 2022

    Una partida decente de ajedrez

     No la he analizado aun con stockfish pero aun así me atrevo a publicarla. Para ser bala (de a minuto) la calidad del juego se me hizo muy decente.

    Esa es la misma razón por la que mi oponente dejo colgada la dama: Era de a minuto la partida.

    domingo, 5 de diciembre de 2021

    Mis ataques de batalla favoritos en SimCity BuildIt

     Llevo jugando ya varios años esta aplicación y hasta el momento no me ha enfadado ni en lo más mínimo. De cierta manera es como el ajedrez; Toda la vida jugándo y me sigue entreteniendo.Se siente bien el ver como progreso con mis ataques favoritos de guerra. No seré pro como algunos japoneses y chinos, pero mis ataques ya han progresado considerablemente.

    El ataque más fuerte de todos. Ideal para rematar al oponente.

    Un ataque "barato", pero que ahora causa daño considerable estando en nivel 10!!!

    Sustituye a "Magnetismo" cuando se me acaban los insumos de guerra. Estando en nivel 4, el daño que causa es ya aceptable.

    Imaginar a dichos ataques usando bote. ¡El doble de puntos! ¿Qué más puedo decir?
    Jugar esta aplicación requiere paciencia, y dependerá del carácter y personalidad del jugador.
    Lo que sí puedo decir es que ya hay mucho tráfico en este juego. 👍
    If you know what I mean....

    lunes, 8 de noviembre de 2021

    Disfrutando jugar al ajedrez

    Nunca en mi vida había disfrutado tanto jugando al ajedrez. 
    Siempre preocupándome por hacer jugadas perfectas, que la partida se vea "bonita" y "espectacular".
    Preocupándome por el rating. Y eso lo único que hace es generar estrés, angustia y al final de cuentas ya no se disfruta el juego.
    Después de todo el ajedrez es sólo un pasatiempo. ¿O no?
    Mejor divertirse, olvidarse de hacer jugadas perfectas, olvidarse del rating. Sólo divertirse y disfrutar...
    Y solito se dan las cosas, sin importar de que sean "partidas perfectas".


    sábado, 19 de junio de 2021

    SimCity BuildIt: Los clubes de guerra

    Una de las cosas que me gusta mucho de este juego son las batallas entre clubes. Hay clubes que son mixtos; o sea le entran al desafío, al concurso de alcaldes y a las batallas. Hay clubes que son específicos; ya sea sólo concurso y desafío o de pura batalla. 
    En mi caso, el club en dónde estoy es mixto pero se le da prioridad a las batallas.
    En las batallas prácticamente se ataca a cualquier ciudad del club contrincante. Entre más ataques hagas más puntos ganas. Y después de día y medio (aprox) de estar "batallando" el club con mayor puntos gana.

    De izquierda a derecha: Sede de las batallas, concurso de alcaldes y club de alcaldes.

    El club en hacer más puntos gana.

    Para realizar un ataque se requiere de "herramientas de batalla". Cada ataque tiene distintos requerimientos para poder realizarse: las herramientas de batalla requeridas y el costo de energía. 
    Una manera de obtener herramientas de batalla es completar envíos de batallas.

    El juego está bien documentado...

    Dependiendo del costo de energía y de los requisitos de cada ataque, se otorgará una cantidad de puntos de batalla y cierto daño (cantidad de edificios derrumbados) a la ciudad que se ataca.
    Los puntos de batalla de cada ataque se pueden mejorar; para ello se requiere mejorar el desastre al próximo nivel. En la imagen de arriba se ve que el desastre lo tengo en el nivel 8. Pero inicialmente cuando éste estaba en el nivel 1 no generaba más de 400 puntos de batalla, probablemente menos inclusive.

    Hay distintos tipos de desastres: Desastre común, raro, legendario, etc.

    Una pequeña muestra de una gran colección de desastres.

    Si perteneces a un club podrás chatear con los demás alcaldes. Ya sea para aclarar dudas, intercambio de productos, pedir ayuda, coordinar un ataque durante la batalla, etc.
    El chat en si está enriquecido de una gran variedad de "emoticones" exclusivos del juego. La sección de batalla tiene sus propios "emoticones" que vendrían siendo las herramientas de batalla y potenciadores.

    Si prestas atención al fondo de la imagen se ve una parte del chat. Hay compañerismo en los clubes y eso bueno.

    Hay distintos tipos de potenciadores: acelerador, paraguas, desacelerador, congelamiento, bote, "quita puntos" (no estoy seguro de como llamarle).
    Un potenciador es como un tipo de ayuda que te permite hacer más puntos de batalla y así también perjudicar a un jugador del club contrincante.
    Por ejemplo: Los botes duplican los puntos de batalla de los desastres, para ello debes de poner un bote sobre la ciudad que vas a atacar.  
    Otro ejemplo sería un acelerador: Cada ataque tiene un costo de energía. La cantidad energía que cada jugador puede tener es de 12. Al quedarte sin energía tienes que esperar cierta cantidad de tiempo para regenerarla. Una unidad de energía toma aproximadamente 5 minutos. Lo que hace un acelerador es disminuir el tiempo de regeneración de energía durante una hora. El desacelerador hace todo lo contrario; aumenta el tiempo de regeneración de energía.

    Hay distintos tipos de moneda y llaves en el juego. 

    Otra manera de adquirir herramientas de batalla es a través de la tienda de batalla. En este caso la moneda morada es la que nos interesa tener, y se obtiene tras ganar batallas y reparando tu ciudad de los ataques del contrincante.
    SimCity BuildIt es una aplicación muy robusta. Aquí sólo se platicó sobre las batallas el cual sólo es una parte del juego. Y aun así sólo fue una descripción breve. Ahora sí que la mejor manera de aprender a jugar, es jugar.