Curse of Coding

Operadores

En programación, los operadores son símbolos que realizan operaciones sobre uno o más valores (operandos) y pueden agruparse en: aritméticos, de comparación, lógicos y de asignación.

Operadores aritméticos

Este tipo de operadores es de los más utilizados inclusive fuera del mundo de la programación, es probable que los hayas utilizado todo este tiempo.

Estos operadores nos sirven para realizar las operaciones matemáticas del día a día, seguramente el único que quizá te resulte nuevo sea el de módulo, pero no te espantes todavía, el operador módulo se utiliza para conseguir el residuo de una multiplicación, así de sencillo.

Operadores de asignación

Los operadores de asignación nos sirven para asignar valores a variables o constantes.

Hoy decidiste jugar con Cain Cain, nuestro pequeño llorón inicia siempre con 1 llave por lo que podemos utilizar el operador de asignación para definirlo:

Key = 1

Cain tiene ahora 1 llave

Mientras limpiamos nos sale una llave de recompensa, ahora usando el operador de suma y asignación podemos decir que:

Key += 1

Cain tiene ahora 2 llaves

Un truco que me funcionó en su momento para comprender más sencillo este operador era leerlo como A lo que tengo, le sumo 1, si Cain ya tiene 1 llave, sumándole 1 nos dará 2 llaves al final.

Si yo tomara el objeto Humbling Bundle Humbling Bundle, el cuál hace que mis pickups se dupliquen ya no estaría hablando de sumar 1 llave cada vez, si no dos, esto lo podemos interpretar como:

Key += 2

Cain tiene ahora 4 llaves

Recordemos leer este operador como A lo que tenía (2 llaves) le sumo 2, dándonos como resultado 4.

Si queremos abrir un cofre grande que requiere 3 llaves, podemos usar el operador de resta y asignación:

Key -= 3

Cain tiene ahora 1 llave

Lo que acabamos de hacer es una suma y resta, pero también podemos hacer multiplicaciones, divisiones y módulos de la misma manera.

NOTA

Existe una manera diferente de escribir el operador +=1 y el -=1, que es ++ y -- respectivamente, esto funciona solamente cuando queremos sumar 1.

Key += 1

Es lo mismo que

Key ++

Operadores lógicos

Aquí empezamos a complicar un poco las cosas (Aunque no tanto como jugar con Jacob & Esau Jacob & Esau).

Un operador lógico nos permite combinar dos o más condiciones para obtener un resultado, pero, ¿Qué es una condición?.

Una condición es una expresión que evalúa si algo es verdadero o falso, usaremos algunos de nuestros personajes favoritos para explicarlo.

Azazel
vanilla/Azazel.png
black Heartblack Heartblack Heart
Azazel Damage3.5
Azazel Tears0.5
Isaac
vanilla/Isaac.png
red Heartred Heartred Heart
Isaac Damage3.5
Isaac Tears1

El operador OR devuelve verdadero cuando una o más de las condiciones son verdaderas, generalmente utilizamos la letra o para conectar estas condiciones.

¿Isaac tiene 3 corazones rojos o 5 de daño? Verdadero

¿Azazel tiene 1 corazón azul o 10 de daño? Falso

¿Isaac tiene 2 corazones negros o 5 de daño o 2 de velocidad de disparo? Falso

¿Azazel tiene 2 corazones negros o 3.5 de daño o 2 de velocidad de disparo? Verdadero

El operador AND regresa verdadero únicamente cuando todas las condiciones se cumplen, la letra que conecta estas condiciones es y.

¿Isaac tiene 3 corazones rojos y 3.5 de daño? Verdadero

¿Azazel tiene 2 corazones negros y 3.5 de daño y 0.5 de velocidad de disparo? Falso

El operador NOT regresa verdadero cuando la condición es falsa y falso cuando es verdadera, la palabra que va a conectar nuestras condiciones será no, suena confuso, así que veamos unos ejemplos.

¿Isaac no tiene 2 corazones rojos? Verdadero

¿Azazel no tiene 3 corazones negros? Falso

Estos operadores pueden combinarse entre sí para crear condiciones monstruosas de las que te preocuparás... nunca, porque conforme avancemos te daré tips para que nunca llegues a necesitarlas.

The Bloat

Operadores de comparación

Los operadores de comparación nos sirven precisamente para poder comparar dos valores entre sí, veamos cuáles son los que debemos conocer.

Empecemos con algunos ejemplos para que te quede más claro.

Vamos a comparar cuánto daño nos dá cada uno de los siguientes objetos:

Meat!+0.3
>
Growth Hormones+1.0

¿Meat tiene más daño que Growth Hormones? Falso

Death's Touch+1.5
!=
Synthoil+1.0

¿Death's Touch tiene un daño diferente a Synthoil? Verdadero

Jesus Juice+0.3
<
The Mark+1.0

¿Jesus Juice tiene menos daño que The Mark? Verdadero

The Pact+0.5
>
items/Sausage+0.5

¿The Pact tiene más daño que Sausage? Falso

Stigmata+0.3
>=
The Halo+0.3

¿Stigmata tiene más daño o es igual al daño de The Halo? Verdadero

Estos son todos los operadores que vamos a necesitar al momento de programar, puede parecer mucha información muy complicada cuando apenas comienzas, pero se vuelve parte del día a día, ¡Vas muy bien!.

Tipos de datosCondicionales
Sausage

Acá está la pizzería!