[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.84,0:00:04.38,Default,,0000,0000,0000,,Aquí hay una función que probablemente no conozcas: "random". Dialogue: 0,0:00:04.38,0:00:10.59,Default,,0000,0000,0000,,Necesita dos parámetros: un límite inferior y un límite superior y devuelve un número aleatorio entre esos dos límites. Dialogue: 0,0:00:10.59,0:00:18.58,Default,,0000,0000,0000,,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". Dialogue: 0,0:00:18.58,0:00:26.05,Default,,0000,0000,0000,,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. Dialogue: 0,0:00:26.05,0:00:30.58,Default,,0000,0000,0000,,Entonces si presiono el botón "Restart" un par de veces puedes ver que se generan números aleatorios. Dialogue: 0,0:00:30.58,0:00:34.16,Default,,0000,0000,0000,,Y puedes ver que la precisión de esos números es de tres decimales. Dialogue: 0,0:00:34.16,0:00:38.68,Default,,0000,0000,0000,,Y aquí tengo una pregunta: ¿qué pasa si sólo quiero generar cero o uno? Dialogue: 0,0:00:38.68,0:00:48.39,Default,,0000,0000,0000,,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. Dialogue: 0,0:00:48.39,0:00:52.16,Default,,0000,0000,0000,,Voy a seguir adelante y hacer una nueva variable llamada "integer" Dialogue: 0,0:00:52.16,0:00:58.71,Default,,0000,0000,0000,,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". Dialogue: 0,0:00:58.71,0:01:12.40,Default,,0000,0000,0000,,Entonces "text(integer..." lo pondremos tal vez en 160 y 350. Bien. Así que nos muestra 0.2314 redondeado a cero. Dialogue: 0,0:01:12.40,0:01:18.31,Default,,0000,0000,0000,,Y si pongo algo como 4.6 lo redondea en 5. Listo. Dialogue: 0,0:01:18.31,0:01:30.87,Default,,0000,0000,0000,,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". Dialogue: 0,0:01:30.87,0:01:36.27,Default,,0000,0000,0000,,Justo así: Agarro este "number" y lo pongo aquí. Dialogue: 0,0:01:36.27,0:01:41.54,Default,,0000,0000,0000,,Ahora puedes ver que cuando se genera un número que es menor que 0.5 lo redondea a 0. Dialogue: 0,0:01:41.54,0:01:47.60,Default,,0000,0000,0000,,Y cuando se genera un número igual o mayor que 0.5 lo redondea a 1. Dialogue: 0,0:01:47.60,0:01:55.08,Default,,0000,0000,0000,,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. Dialogue: 0,0:01:55.08,0:01:58.82,Default,,0000,0000,0000,,Y si sacas un 1 tu amigo te da diez dólares. Gran juego, ¿cierto? Dialogue: 0,0:01:58.82,0:02:06.61,Default,,0000,0000,0000,,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. Dialogue: 0,0:02:06.61,0:02:17.65,Default,,0000,0000,0000,,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. Dialogue: 0,0:02:17.65,0:02:28.59,Default,,0000,0000,0000,,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. Dialogue: 0,0:02:28.59,0:02:35.89,Default,,0000,0000,0000,,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. Dialogue: 0,0:02:35.89,0:02:39.09,Default,,0000,0000,0000,,Y por suerte, con nuestro impresionante conocimiento de las sentencias "if" esto es super fácil. Dialogue: 0,0:02:39.09,0:02:53.63,Default,,0000,0000,0000,,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. Dialogue: 0,0:02:53.63,0:03:06.30,Default,,0000,0000,0000,,Y luego "if integer" es igual a uno, tenemos una función "fill" diferente y rellenaremos con amarillo. Dialogue: 0,0:03:06.30,0:03:16.11,Default,,0000,0000,0000,,Genial. ¡Funciona! ¡Yu ju! Pero pensemos en esto por un segundo. "Integer" sólo será 0 o 1, ¿cierto?, así la diseñamos. Dialogue: 0,0:03:16.11,0:03:19.04,Default,,0000,0000,0000,,Entonces eso significa que o esta sentencia será verdadera, Dialogue: 0,0:03:19.04,0:03:21.46,Default,,0000,0000,0000,,o ésta será verdadera. Dialogue: 0,0:03:21.46,0:03:22.55,Default,,0000,0000,0000,,Siempre. Dialogue: 0,0:03:22.55,0:03:27.65,Default,,0000,0000,0000,,Aquí hemos cubierto todas las posibilidades, lo que significa que podemos empezar a pensar sobre nuestra decisión haciendo algo diferente. Dialogue: 0,0:03:27.65,0:03:35.93,Default,,0000,0000,0000,,Es decir, si "integer" es igual a cero, rellenaremos de morado, de otra manera, rellenaremos de amarillo. Dialogue: 0,0:03:35.93,0:03:40.79,Default,,0000,0000,0000,,Así que ¿viste que no tuvimos que decir nada de que si "integer" vale 1 en este segundo caso? Dialogue: 0,0:03:40.79,0:03:45.26,Default,,0000,0000,0000,,Todo lo que tenemos que decir es si "integer" es igual a cero, haz esto; de otra manera, haz esto otro. Dialogue: 0,0:03:45.26,0:03:48.26,Default,,0000,0000,0000,,Y la manera de decir "de otra manera" en programación es "else". Dialogue: 0,0:03:48.26,0:03:53.52,Default,,0000,0000,0000,,Así que observa esto: voy a reemplazar esta segunda condición "if" con la palabra "else" Dialogue: 0,0:03:53.52,0:03:59.87,Default,,0000,0000,0000,,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. Dialogue: 0,0:03:59.87,0:04:03.22,Default,,0000,0000,0000,,De otra manera, ejecuta el código que está en estas llaves. Dialogue: 0,0:04:03.24,0:04:10.49,Default,,0000,0000,0000,,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. Dialogue: 0,0:04:10.49,0:04:15.55,Default,,0000,0000,0000,,No puedes tener un bloque "else" a menos que tengas un bloque "if". ¿Entiendes? Dialogue: 0,0:04:15.55,0:04:27.07,Default,,0000,0000,0000,,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. Dialogue: 0,0:04:27.07,0:04:32.90,Default,,0000,0000,0000,,Genial. Ahora sabemos sobre "if-else" que es muy útil cuando estamos decidiendo entre dos posibles cosas que hacer. Dialogue: 0,0:04:32.90,0:04:34.74,Default,,0000,0000,0000,,Pero ¿qué pasa si tenemos más? Dialogue: 0,0:04:34.74,0:04:41.03,Default,,0000,0000,0000,,¿Qué pasa si genero un entero entre cero y dos y tengo tres posibilidades: cero, uno y dos? ¿Qué hago entonces? Dialogue: 0,0:04:41.03,0:04:44.46,Default,,0000,0000,0000,,¡Tan tan tan! Continuará...