🕵️♂️ Hice unos apuntes explicando con más ejemplos cómo funcionan las tablas de verdad. Aquí te los dejo para que les eches un ojo 💚
👉 Qué son las tablas de verdad: reglas y ejemplos con frutas
Fundamentos de Programación
Bienvenida a Platzi: ¿qué necesitas para tomar el curso?
Programación en Navegadores: Primeros Pasos
Crea tu primer sitio web
Sitios web con HTML
Estructura de árbol en HTML
Instalando tu primer editor de código
Cómo declarar variables y usar prompt
Algoritmo de piedra, papel o tijera
Algoritmo avanzado de piedra, papel o tijera
Aleatoriedad
Refactor del código usando funciones
Ciclos
Gana 3 veces
Archivos de HTML y JavaScript
¿Qué es el DOM?
Quiz: Fundamentos de Programación
Desarrollando un juego con HTML y JavaScript
Maquetación con HTML
Sección de elegir mascota
¿Dónde ubicar la etiqueta script? Conectando HTML con JavaScript
Escuchando eventos con JavaScript
addEventListener
Manipulación del DOM
Enemigos aleatorios
Ataques en JavaScript
Ataques aleatorios del enemigo
Imprimiendo ataques del enemigo
¿Ganaste, perdiste o empataste?
Tablas de verdad
Creando el contador de vidas
¿Quién ganó el juego?
Reiniciando el juego
Ocultando elementos HTML con JS para mejorar la UX del juego
Quiz: Desarrollando un juego con HTML y JavaScript
Estilos con CSS
Anatomía de CSS
Tipos de display
Flexbox
Modelo de caja
Imágenes para los Mokepones
Estilos del botón
Adaptando HTML al diseño del juego
Layout: título y ataques
Adaptando JavaScript al diseño del juego
CSS Grid
Responsive Design
Detalles finales
Quiz: Estilos con CSS
Optimización de código
Revisión de código
Don't repeat yourself (DRY)
Clases y objetos
Clases y objetos de Mokepon
Arrays o arreglos
Objetos vs. arreglos
Ciclos: manipulando el DOM con iteradores
Declaración lenta de variables
Una sola fuente de la verdad
Mascotas aleatorias con arreglos
Ataques dinámicos por cada mascota: extraer
Renderizado dinámico en HTML
Eventos de click dinámicos
Secuencia de ataques del enemigo
Iniciando el combate
Resolviendo el reto de condicionales
Optimizando el frontend del juego
Quiz: Optimización de código
Mapa con canvas
Introducción a canvas: dibujando con JavaScript
Moviendo a Capipepo hacia la derecha
Movimiento hacia todas las direcciones
Movimientos con el teclado
Imágenes y personajes de fondo
Métodos en las clases
Obstáculos y colisiones
Combate entre mokepones colisionados
Mapa responsive
Botones bonitos y viewport
Quiz: Mapa con canvas
Backend: videojuego multijugador
¿Qué es backend?
Instalación de Node.js y NPM
Terminal de comandos y Node.js
Servidor web con Express.js
HTTP, localhost, servidores y puertos
Express.js y fetch: API REST con JavaScript
JSON y POST: mokepon online
Transmisión de coordenadas
Mokepones dinámicos en el mapa
Optimizando el mapa del juego
Batalla entre jugadores
Consumiendo la API de ataques del enemigo
Quiz: Backend: videojuego multijugador
Próximos pasos
Probando el juego en varios dispositivos
¿Y ahora qué curso tomar?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Juan David Castro Gallego
Aportes 250
Preguntas 16
🕵️♂️ Hice unos apuntes explicando con más ejemplos cómo funcionan las tablas de verdad. Aquí te los dejo para que les eches un ojo 💚
👉 Qué son las tablas de verdad: reglas y ejemplos con frutas
Con las tablas de verdad logré reducir mucho el código del combate:
ANTES:
DESPUES:
⚡Tablas de verdad
Operadores vistos en la clase:
Les comparto esta tabla que encontre en las clases de pensamiento lógico
Las barritas del “or” en mi teclado está sobre la tecla “tab”, a la izquierda del numero 1
Este símbolo | en realidad se llama PLECA y es usado en varios contextos. Por ejemplo en matemáticas se usa para encerrar una expresión obteniendo su Valor Absoluto; en los shell de sistemas operativos como Linux o Windows, se utiliza para canalizar o entubar la salida de un programa con la entrada de otro, operación se que denomina PIPE (tubería). En programación, como bien se ha presentado en esta clase, se utiliza para representar la operación OR o Disyunción.
Yo lo entendí fácilmente cuando empecé a tomar el AND como el operador multiplicar y el OR como el sumar:
AND:
1x1=1 (TRUE)
1x0=0 (FALSE)
0x1=0 (FALSE)
0x0=0 (FALSE
OR:
1+1=1 (TRUE)
1+0=1 (TRUE)
0+1=1 (TRUE)
0+0=0 (FALSE)
Para continuar la tradición de enviar este vídeo cada vez que aparece el tema: https://youtu.be/Pfyuv5ZnNNw
al fin entendi el meme del patricio, quien lo habria dicho
El “or” lopodemos utilizarpor ejemplo en el juego de “Mokepon”. Si unimos todas las condiciones en que ganamos.
Este curso es un reto particular para mi desarrollo. Aprendí estos fundamentos en clases clásicas pre-pandemia, al terminar mis materias de la licenciatura sentí que no sabía nada por no tener habilidades prácticas notables (y llego la pandemia) y tome un sindrome de BurnOut por casi 2 años sin poder escribir código sin sentir ansiedad.
Ahora con un enfásis en los cursos de habilidades blandas he estado viendo cómo manejar mis emociones y que es ser productivo. Me perdono por aprender de mala manera a programar, ahora lo hago jugando, creando, expresandomé.
Estén atentos a publicación de mi portafolio. ;D
si se quiere buscar documentación en la web sobre este tema, se puede encontrar de la siguiente forma:
NOT -> ! = llamada tabla de negación
AND -> && = llamada tabla de conjunción
OR -> || = llamada tabla de disyunción
En ‘AND’ solamente son verdadero cuando sus dos condiciones son VERDADERAS, en ‘OR’ es falso cuando sus dos condiciones son FALSAS.
A veces lo vemos complicado, pero la verdad la logica computacional es muy bonita y cuando la entiendes el mundo de la programacion se te hace un mundo de facil!
Que complicados son los operadores logicos!!! 🥴
Gente les recomiendo que hagan el curso de pensamiento lógico: algoritmos, es el primero de la escuela de desarrollo de software, tocan este tema con mucha profundidad
Conjunción = la conclusión es verdadera cuando ambos valores son verdaderos y se representa con un && (AND) ∧
Disyunción inclusiva = la conclusión es verdadera, cuando uno de los valores es verdadero y se representa con un or, ||, ∨
Disyunción exclusiva = la conclusión es falsa cuando ambos valores se repiten (F XOR F // V XOR V) En pocas palabras: la conclusión es verdadera solo cuando ambos valores NO se repiten. Se representa con XOR, ⊻
Condicional = la conclusión es falsa cuando el primer valor es verdadero y el segundo falso. Se representa con un then, ⇒
Bicondicional = La conclusión es verdadera cuando ambas premisas son verdaderas o falsas. Si son diferentes (F⇔V // V⇔F) la conclusión es falsa. Se representa con un if, ⇔.
En mi teclado las barritas del or || aparecen abajo de la tecla escape, al lado del numero 1, arriba de la tecla tab.
En la escritura de python, usamos:
and 'operador y’
or ‘operador o’
== ‘Igual a’
!= ‘Direfrente a’
function combateMokepon() {
if (ataqueEnemigo == ataqueJugador) {
crearMensajes('EMPATE')
} else if((ataqueJugador == 'FUEGO🔥' && ataqueEnemigo == 'TIERRA🌱') || (ataqueJugador == 'AGUA💧' && ataqueEnemigo == 'FUEGO🔥') || (ataqueJugador == 'TIERRA🌱' && ataqueEnemigo == 'AGUA💧')) {
crearMensajes('GANASTE')
} else {
crearMensajes('PERDISTE')
}
}
Si este tema se explicara en el colegio nos evitaríamos muchos problemas en la educación superior y en la vida en general. Con ejemplos de la vida diario incluso ayuda a pensar de forma sistemática, de consecuencias, acción - reacción.
Aquí tienen toda la información sobre las tablas de verdad:
Conozco uno que vi el cual es el “Xor”, que es lo contrario al “And”:
(Este operador se puede leer como: Solamente:
¿Alguien me diría un ejemplo práctico para este operador pls?
Hablando de los ciclos que hemos usado en este curso, recordé que utilice casi los mismo ciclos para crear un algoritmo para una cafetería.
Es un ciclo mientras para el menú y dentro lleva ciclos si para complementos:
claro aquí esta todo en español la mayor diferencia.
Que increíble tanto en la Universidad como en platzi e visto estos temas cada día afino mas mis habilidades.
#TeAmoPlatzi.
Les comparto una clase magistral recien salida del horno de Julio Profe GOD sobre las tablas de la verdad:
https://www.youtube.com/watch?v=7T2uf41B-mA&ab_channel=julioprofe
Tablas de verdad
En mi caso como estudiante en mecatrónica utilizo las tablas de verdad tanto como para programar como para circuitos que usan compuertas lógicas, con esto podemos crear desde contadores, cronómetros, relojes etc. Cuando son circuitos muy largos solemos simplificarlos con Algebra de boole, mapas de karnaugh.
Otros operadores lógicos que conozco son los condicionales donde si pasa A entonces B, los bicondicionales y los negativos de todos los mencionados XAND, XOR donde si su resultado se invierte si lo comparamos con sus homólogos AND y OR, un ejemplo es que si en AND ES 1 and 1 -> 1 en XAND sería 0 simplemente por que está negando el uno.
El curso de fundamentos del software es vital porque te explican como de verdad funciona esto de la programación y la informatica
Habia visto tablas de verdad anteriormente pero de verdad no sabia como aplicar esa logica a un codigo, gracias totales paor este curso
Saber las tablas es muy importante para las condiciones 😃
En esta clase del curso de logica explican todos lo tipos de tablas de verdad
https://platzi.com/clases/3221-pensamiento-logico/50676-que-son-las-tablas-de-verdad/
Seguimos aprendiendo, hasta ahora le voy entendiendo bastante bien, no me acuerdo todos los codigos si tuviera que emplearlos para crear algo yo solo, pero todo es práctica, los profes enseñan muy bien!
1 and 1 = 1
1 and 0 = 0
0 and 1 = 0
0 and 0 = 0
1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
not 1 = 0
not 0 = 1
1 or 1 = 0
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
1 then 1 = 1
1 then 0 = 0
0 then 1 = 1
0 then 0 = 1
1 if 1 = 1
1 if 0 = 0
0 if 1 = 0
0 if 0 = 1
Es muy bueno el profe Juan
A mi me resulta mas sencillo compararlo con lo aprendido en la escuela en matematicas. La ley de los signos.
Teniendo en cuenta que** Mi logica** para comprenderlo, es que en AND tiene mas “peso” lo Falso o Negativo. En OR tiene mas “peso” lo Verdadero o Positivo
Ley de Signos
. + x + = +
. + x - = -
. - x + = -
. - x - = +
En AND (&&):
. + X + = +
. + X - = -
. - X + = -
. - X - = -
En OR (II)
. + X + = +
. + X - = +
. - X + = +
. - X - = -
Espero que le sirva a alguien mi aporte XD
Si falso y falso es positivo entonces cuando este triste voy a poner música triste para estar feliz :L
Esta fue una de las primeras clases cuando vi programación en la universidad. No hay muchas complicaciones en entender. Ya necesitaba una clase normal para variar jeje :c
El símbolo pipe en mi teclado está al lado izquierdo del número 1
me pasa que el profe dijo en un momento que nuestro codigo no tiene que ser igual al de el. PERO YO NO SE NI HACER CODIGO AUN JAJAJA.
or esta encima del tab
el mio || esta , arriba de Tab , a la izquiera del numero 1
con esto pude reducir bastante el código
function definirResultado() {
if(ataqueJugador == ataqueEnemigo){
resultado = 'EMPATE'
} else if ((ataqueJugador == 'FUEGO' &&
ataqueEnemigo == 'TIERRA') || (ataqueJugador ==
'AGUA' && ataqueEnemigo == 'FUEGO') ||
(ataqueJugador == 'TIERRA' && ataqueEnemigo ==
'AGUA')){
resultado = 'GANASTE'
} else {
resultado = 'PERDISTE'
}
}
Aplicando tablas de verdad en el juego Pierda-Papel-Tijeras
// Función para saber quién gana
function comparar(eleccionHumano, eleccionComputadora) {
//Cuando el jugador gana
if((opcionElegida(eleccionHumano) == "piedra" && opcionElegida(eleccionComputadora) == "tijera")
|| (opcionElegida(eleccionHumano) == "papel" && opcionElegida(eleccionComputadora) == "piedra")
|| (opcionElegida(eleccionHumano) == "tijera" && opcionElegida(eleccionComputadora) == "papel")) {
resultado = "GANASTE"
//Cuando el jugador empata
} else if(eleccionHumano == eleccionComputadora) {
return resultado = "EMPATARON"
//Cuando el jugador pierde
} else {
return resultado = "PERDISTE"
}
}
excelente como explicas todo!!! enganchas al curso
LOGICA PROPOSICIONAL
Tambien existe el XOR al menos lo vi en Python, sería interesante saber más sombre este operador.
En esta clase no continuaremos el proyecto, vamos a tratar las tablas de verdad. Esta es la base de la programación. Debido a que la electricidad y los computadores funcionan así.
La lógica de las tablas se basa en binaro, es decir unos y ceros o verdaderos y falsos
De aquí salen todos los operadores y sus combinaciones
Aunque se me es un tema un poco difícil de entender, la manera como él profesor lo explica lo hace mucho más facil de entender
El XOR (Exclusive OR) donde solo resulta verdadero cuando una y solo una de las condiciones es verdadera.
Interesante Profe Juan
Con respecto a la solicitud del profesor Juan, otro operador es el XOR (exclusive OR / O exclusivo).
Este retorna true si y solo si ambos valores comparados son diferentes, es decir:
false XOR false = false
false XOR true = true
true XOR false = true
true XOR true = false
Un ejemplo sobre la utilidad de este operador es el siguiente:
código HTML:
<input type=“button” value=“Change” id=“change”>
<p id=“xor”>XOR<p>
Código JS:
<script>
var victoria = false;
document.getElementById(“change”).addEventListener(“click”, () => {
victoria = victoria ^ true;
document.getElementById(“xor”).innerHTML = victoria ? “TRUE” : “FALSE”;
});
</script>
Si copian ambos códigos, y los ejecutan, podrán ver como un mensaje cambia de TRUE a FALSE y vice versa.
En el script tenemos que la variable victoria se inicializa a false, después ese mismo valor se compara contra el valor true mediante O exclusivo (^). La comparación será verdadera (false ^ true). Como fue verdadera se asigna a victoria cambiando su valor de falso a verdadero. Aquí algo interesante: estoy utilizando el operador ternario ‘?:’ (se dice ternario pues opera con tres operandos: la variable victoria y las dos cadenas “TRUE” y “FALSE”).
NOTA: Si quieres saber mas de este operador, le recomiendo esta fuente: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Conditional_operator
Ahora, como la variable victoria es true, cuando se haga victoria ^ true, se estarán comparando dos valores true y por ende tendremos false cambiando nuevamente el contenido del párrafo a false (recuerdas? XOR lo que hace es evaluar la expresión a VERDADERA si ambos valores son DIFERENTES).
Un uso util para el “or” o el || es cuando por ejemplo en el proyecto del piedra papel o tijera, necesitamos poner todas las posibilidades que hay de ganar, en vez de repetir cada vez el “else if” aplicamos el or, entonces con tan solo que se cumpla una sola de esas condicionales, ya se ejecutaria el codigo que hay entre las llaves
Increíble curso, no paro de aprender, muy bien explicado. Enhorabuena a Platzi por la iniciativa.
Creo que lo haré varias veces para fijar conceptos.
Les recomiendo el curso de fundamentos de programación de platzi, todo esto se explica muy bieny con practica
and --> y --> &&
ord --> o --> ||
not --> negacion --> !
Aproveché de usar OR para abreviar un poco el código, aquí va:
function combate(){
if(ataqueEnemigo==ataqueJugador){
resultadoCombate="EMPATE"
} else if(ataqueEnemigo=="FUEGO 🔥🔥🔥🔥 "&& ataqueJugador=="AGUA 🐳🐳🐳🐳" || ataqueEnemigo=="AGUA 🐳🐳🐳🐳"&& ataqueJugador=="TIERRA 🌱🌱🌱🌱"||"TIERRA 🌱🌱🌱🌱"&& ataqueJugador=="FUEGO 🔥🔥🔥🔥" ){
resultadoCombate="GANASTE"
} else {
resultadoCombate="PIERDES"
}
crearMensaje()
}
es el sistema binario
&& = Alt 38
|| = Alt 124
! = Alt 33
COMO ME SALE LA BARRA DE OR ||
para sacar la barra vertical para operador OR || , en mi teclado es “ALT” + 124 . OK
En clases de electronica me la enseñaron asi:
donde el valor min es 0 y el max es 1
AND - Multiplicacion
OR - Suma
NOT - Negacion
esto fue lo que hize con las tablas de verdad, las meti en un excel y agale
(
y de esta manera ahorrarme parde condicionales
Gracias, ahora entendí completamente las tablas de verdad. Claro se debe considerar ver todos los recursos de videos anteriores para entra en contexto.
||
la barrita recta está en alt gr + 1
📌 Las tablas de verdad y sus operadores ayudan a crear enunciados lógicos
Me encanto este resumen!!
En mi teclado no hay la barrita: F
Operadores de asignación
Operadores de comparación
Operadores aritméticos
Operadores lógicos
Operadores de cadena
Esto me recordó este episodio de Futurama
En mi teclado, || está abajo del Escape. Mi código mejorado con ||:
function combate(){
if (ataqueEnemigo == ataqueJugador){
crearMensaje("EMPATE")
}
else if ((ataqueJugador == 'FUEGO' && ataqueEnemigo == 'TIERRA') || (ataqueJugador == 'AGUA' && ataqueEnemigo == 'FUEGO') || (ataqueJugador == 'TIERRA' && ataqueEnemigo == 'AGUA') ){
crearMensaje("GANASTE")
}
else{
crearMensaje("PERDISTE")
}
}
Las dos barras de rectas en mi PC están debajo de la tecla DEL
Cuando hablamos de un operador como AND tenemos las siguientes condiciones:
Cuando las 2 condiciones cumplen, es decir, que sea verdadero, el resultado es VERDADERO o TRUE.
.
Esta es la única condición en el caso del operador AND en el que el resultado será verdadero.
Los demás escenarios que se presenten, ya sea que uno si cumpla con la condición verdadera y el otro no, o también cuando los dos no llegan a cumplir con la condición, el resultado será FALSO o FALSE.
En el caso del operador OR o también conocido como “O” en cualquiera de las condiciones, mientras una cumpla como verdadero, el resultado será VERDADERO.
.
Pero a excepción del operador AND, para poder obtener un FALSE las 2 condiciones no se deben cumplir, es decir que las 2 condiciones sena FALSAS para que el resultado sea FALSE o FALSA.
Representación de los operadores en lenguaje de programación
.
AND -> &&
OR -> ||
NOT -> !
mi | esta arriba de la tecla tab
En mi laptop tengo el símbolo de pipe en la tecla que está debajo de la tecla esc
La Tabla de verdad con operador && (AND), es de tipo Conjunción, donde el resultado es Verdadero cuando ambas (exp1 y exp 2) lo son.
La Tabla de verdad con operador || (OR), es de tipo Disyunción, donde el resultado es Verdadero cuando una de los dos(exp1 ó exp 2) lo sea
Psdta: El simbolo || (OR) está ubicado en sobre la tecla tabulador ó a la izquierda del número 1 en el teclado.
El operador de OR “||” en mi teclado esta encima de la tecla TAB
En mi pc la barrita del OR || se encuentra debajo de la techa escape
realmente quiero de jar me comentario, volvere... con conocimineto 😁
OR = alt + 124
Álgebra básica: operación entre signos:
Sistema binario y Booleanos
Cuando yo no encuentro un signo para el operador que estoy necesitando busco “operador lógico y, o, xor, not” y lo copio en el código.
No es la mejor manera pero le he usado muchas veces
La OR es una ‘o’ inclusiva, ya que permite el evento de que mabas sean verdaderas.
Existe una que se llama EXOR que es una ‘o’ exclusiva, ya que solo permite los eventos donde solo uno de los dos ocurra.
¿Qué son las tablas de verdad?: Tabla de verdad AND (&&)
Tabla de verdad del operador OR (||)
En mi teclado la barrita recta para representar el operador OR se encuentra arriba de mi tecla TAB, saludos a toda la comunidad.
comparto este curioso hecho de la historia, El desarrollo de un computador a partir de lógica ternaria
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?