Contenido del curso

Fundamentos de Programación

Desarrollando un juego con HTML y JavaScript

Estilos con CSS

Optimización de código

Mapa con canvas

Backend: videojuego multijugador

Tablas de verdad con AND, OR y NOT

Resumen

Los operadores lógicos en JavaScript permiten combinar varias condiciones dentro de un mismo condicional para validar escenarios complejos como los de un juego de piedra, papel o tijera. Aquí entenderás de dónde vienen los unos y ceros, qué son las tablas de verdad y cómo aplicar &&, || y ! en tu código.

¿Por qué la programación se basa en unos y ceros?

Detrás de cada algoritmo hay una idea sorprendentemente simple: la electricidad pasa o no pasa. Imagina un bombillo en tu habitación. Solo tiene dos estados posibles: prendido o apagado. Esa dualidad es la base de todo lo que ocurre dentro de una computadora [02:30].

En programación representamos esos dos estados con números y palabras:

  • Bombillo prendido equivale a 1, lo llamamos true (verdadero).
  • Bombillo apagado equivale a 0, lo llamamos false (falso).
  • De ahí nacen los booleanos, el tipo de dato más fundamental.

Esa es la razón por la que en películas como Matrix verás cascadas de unos y ceros: están retratando el lenguaje más profundo de las máquinas.

¿Qué es un booleano? Es un valor que solo puede ser true o false. Sirve para representar si una condición se cumple o no, como un interruptor de luz en tu código.

¿Qué son las tablas de verdad y para qué sirven?

Cuando tu condicional necesita evaluar más de una cosa al mismo tiempo, entran en juego las tablas de verdad. Son el mapa que te dice qué resultado obtienes al combinar dos o más condiciones con un operador lógico [04:10].

Piensa en el proyecto del juego: para detectar un empate no basta con saber si el ataque del jugador es fuego, también necesitas confirmar que el ataque del enemigo lo sea. Dos condiciones, un solo resultado. Y aquí es donde aparecen los operadores.

¿Cómo funciona el operador AND en JavaScript?

El operador and se escribe con doble ampersand (&&) y exige que ambas condiciones sean verdaderas para que el resultado lo sea. Si una sola falla, todo el bloque se evalúa como falso.

La tabla de verdad del && se ve así:

  • true && true da true.
  • true && false da false.
  • false && true da false.
  • false && false da false.

En la práctica, lo usas cuando ataque del jugador es fuego y ataque del enemigo también es fuego. Solo entonces entras a la rama del empate.

¿Cómo funciona el operador OR y cuándo conviene usarlo?

El operador or se representa con doble pipe (||) y es más permisivo: con que al menos una condición sea verdadera, el resultado ya es verdadero [09:50].

Su tabla de verdad queda así:

  • true || true da true.
  • true || false da true.
  • false || true da true.
  • false || false da false.

Un detalle simpático: el símbolo | suele esconderse en lugares distintos del teclado según el país. En muchos teclados está cerca del enter, en otros junto al uno. Vale la pena ubicarlo antes de empezar a escribir condicionales.

¿Cuándo usar && y cuándo ||? Usa && cuando todas las condiciones deben cumplirse al mismo tiempo. Usa || cuando basta con que una sola se cumpla para activar el bloque de código.

¿Qué hace el operador NOT y por qué genera tantos memes?

El operador not se escribe con un signo de admiración (!) y su trabajo es invertir el valor booleano de una condición. Si algo era verdadero, lo vuelve falso, y viceversa [12:40].

Por ejemplo, si la condición "el ataque del jugador es fuego" es true, al aplicar ! el resultado pasa a false. Y si esa misma condición fuera false, el ! la convierte en true. De ahí sale el famoso meme: "el falso del falso es positivo". No es magia, es solo el ! haciendo su trabajo.

Este operador es útil cuando quieres ejecutar código justo cuando algo no está pasando, sin tener que escribir comparaciones largas.

¿Cómo se aplican estos operadores en el proyecto del juego?

En la función de combate del juego de fuego, agua y tierra, el doble ampersand aparece para verificar combinaciones de ataque entre jugador y enemigo. Es la misma lógica que se usó en la clase anterior de piedra, papel o tijera, donde las opciones eran 1, 2 y 3 en lugar de los elementos.

Algunos puntos clave para reutilizar esta lógica en tus propios proyectos:

  • Identifica cuántas condiciones necesitas evaluar antes de elegir el operador.
  • Si todas son obligatorias, usa &&.
  • Si cualquiera basta, usa ||.
  • Si necesitas invertir el resultado, antepone !.

Y recuerda que existen más operadores lógicos con sus propias tablas de verdad. ¿Cuál otro conoces y qué uso práctico le darías al || o al ! en un proyecto real? Déjamelo en los comentarios.