Aquí hay una función que probablemente no conozcas: "random".
Necesita dos parámetros: un límite inferior y un límite superior y devuelve un número aleatorio entre esos dos límites.
Así que esta variable "number" tendrá un valor entre cero y uno. Entonces vamos a dibujar esa variable "number" en la pantalla usando esta función "text".
Esos dos parámetros finales son para las coordenadas "x" y "y" del texto y usaremos "textSize" y "fill" para establecer el tamaño y el color del texto.
Entonces si presiono el botón "Restart" un par de veces puedes ver que se generan números aleatorios.
Y puedes ver que la precisión de esos números es de tres decimales.
Y aquí tengo una pregunta: ¿qué pasa si sólo quiero generar cero o uno?
Bueno, podemos usar esta otra función llamada "round", esta función toma un número que puede tener todos los decimales que quieras y lo redondea al entero más cercano.
Voy a seguir adelante y hacer una nueva variable llamada "integer"
y le voy a asignar el valor que "round" nos regrese. Y también podemos dibujar esta variable "integer" en la pantalla con nuestra práctica función "text".
Entonces "text(integer..." lo pondremos tal vez en 160 y 350. Bien. Así que nos muestra 0.2314 redondeado a cero.
Y si pongo algo como 4.6 lo redondea en 5. Listo.
Entonces, si quiero generar un 0 o un 1 aleatoriamente, puedo tomar este número decimal que generamos con "random" entre 0 y 1 y pegarlo directo en esta función "round".
Justo así: Agarro este "number" y lo pongo aquí.
Ahora puedes ver que cuando se genera un número que es menor que 0.5 lo redondea a 0.
Y cuando se genera un número igual o mayor que 0.5 lo redondea a 1.
Y tal vez puedes ver el principio de una especie de juego cara o cruz, donde si tú sacas un cero tu amigo te da un dólar.
Y si sacas un 1 tu amigo te da diez dólares. Gran juego, ¿cierto?
De hecho, vamos a seguir adelante e ilustraremos este juego de lanzamiento de monedas con unas monedas súper realistas que parecían elipses aburridas.
Justo así: voy a dibujar una elipse en medio de nuestra pantalla que va a ser nuestra moneda. ¡Oh!, está cubriendo el texto, vamos a deslizar esto un poco hacia arriba. Genial.
Y tengo esta idea: si saco un cero, voy a mostrar el lado morado de la moneda, así que para hacer la moneda morada sólo tengo que rellenar con morado.
Y si saco un 1, voy a mostrar el... mmm... lado amarillo de la moneda. Esta será una moneda con un lado morado y uno amarillo.
Y por suerte, con nuestro impresionante conocimiento de las sentencias "if" esto es super fácil.
Así que podemos decir "if integer" es igual a cero, recuerden que usamos tres signos de igual para comprobar la igualdad, luego rellenaremos la elipse con morado.
Y luego "if integer" es igual a uno, tenemos una función "fill" diferente y rellenaremos con amarillo.
Genial. ¡Funciona! ¡Yu ju! Pero pensemos en esto por un segundo. "Integer" sólo será 0 o 1, ¿cierto?, así la diseñamos.
Entonces eso significa que o esta sentencia será verdadera,
o ésta será verdadera.
Siempre.
Aquí hemos cubierto todas las posibilidades, lo que significa que podemos empezar a pensar sobre nuestra decisión haciendo algo diferente.
Es decir, si "integer" es igual a cero, rellenaremos de morado, de otra manera, rellenaremos de amarillo.
Así que ¿viste que no tuvimos que decir nada de que si "integer" vale 1 en este segundo caso?
Todo lo que tenemos que decir es si "integer" es igual a cero, haz esto; de otra manera, haz esto otro.
Y la manera de decir "de otra manera" en programación es "else".
Así que observa esto: voy a reemplazar esta segunda condición "if" con la palabra "else"
Y lo que esto significa es que si lo que está entre paréntesis es verdadero, entonces ejecuta el código que está en estas llaves.
De otra manera, ejecuta el código que está en estas llaves.
Y algunas veces ponemos la palabra "else" en la misma línea que esta llave de cierre, sólo para recordarnos a nosotros mismos que estos dos bloques de código están muy conectados.
No puedes tener un bloque "else" a menos que tengas un bloque "if". ¿Entiendes?
Y también te ayudará a recordar que no puedes poner nada entre estos dos bloques como "var y = 0", ¡eso echaría todo a perder! Así que no lo hagas.
Genial. Ahora sabemos sobre "if-else" que es muy útil cuando estamos decidiendo entre dos posibles cosas que hacer.
Pero ¿qué pasa si tenemos más?
¿Qué pasa si genero un entero entre cero y dos y tengo tres posibilidades: cero, uno y dos? ¿Qué hago entonces?
¡Tan tan tan! Continuará...