[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:01.00,0:00:04.72,Default,,0000,0000,0000,,Ahora hablemos de condiciones más complejas que puedes evaluar con tus programas. Dialogue: 0,0:00:04.72,0:00:08.06,Default,,0000,0000,0000,,Para mostrarlas, he preparado la pantalla para que se vea como un juego que yo solía jugar Dialogue: 0,0:00:08.06,0:00:09.35,Default,,0000,0000,0000,,Cuatro cuadros. Dialogue: 0,0:00:09.35,0:00:14.85,Default,,0000,0000,0000,,Hay cuatro cuadros (el nombre del juego es acertado), y te paras en un cuadro y rebotas tu pelota a los otros cuadros. Dialogue: 0,0:00:14.85,0:00:18.66,Default,,0000,0000,0000,,Ahora dibujaré una elipse por donde pase mi ratón, para que sea nuestra pelota Dialogue: 0,0:00:18.66,0:00:23.49,Default,,0000,0000,0000,,Lo que quiero hacer es resaltar el cuadro en el que se encuentra la pelota, dibujando un rectángulo blanco en la parte superior. Dialogue: 0,0:00:23.49,0:00:29.68,Default,,0000,0000,0000,,Sé que necesito una sentencia "if" para hacer eso, porque sólo quiero hacerlo con uno a la vez, sólo cuando estoy sobre ese rectángulo Dialogue: 0,0:00:29.68,0:00:34.39,Default,,0000,0000,0000,,Ok, empecemos dibujando ese rectángulo. Dialogue: 0,0:00:34.39,0:00:39.90,Default,,0000,0000,0000,,Así que sólo copiaré el rectángulo de ahí, pero lo voy a rellenar con un color diferente, un relleno blanco Dialogue: 0,0:00:39.90,0:00:43.96,Default,,0000,0000,0000,,Bien. Ahora vamos a ponerlo en un "if" Dialogue: 0,0:00:43.96,0:00:50.50,Default,,0000,0000,0000,,Puedes ver que autocompleta las llaves, así que tengo que mover esto dentro de ellas. Dialogue: 0,0:00:50.50,0:00:53.96,Default,,0000,0000,0000,,Ok. Entonces, ¿cuándo tengo que mostrar ese rectángulo? Dialogue: 0,0:00:54.03,0:01:00.89,Default,,0000,0000,0000,,Bueno, sé que debo hacerlo cuando la posición de "x" del mouse sea menor que 200 (mouseX < 200) Dialogue: 0,0:01:00.89,0:01:07.07,Default,,0000,0000,0000,,Eso funciona, pero cuando me pongo aquí abajo, el rectángulo sigue blanco. Dialogue: 0,0:01:07.07,0:01:10.35,Default,,0000,0000,0000,,Así que también necesito revisar "mouseY". Dialogue: 0,0:01:10.35,0:01:13.27,Default,,0000,0000,0000,,Bueno, ¿cómo compruebo las dos cosas? Dialogue: 0,0:01:13.27,0:01:14.94,Default,,0000,0000,0000,,Es por eso que tenemos el operador "AND" Dialogue: 0,0:01:14.94,0:01:17.85,Default,,0000,0000,0000,,Así que usamos el operador "AND" cuando queremos comprobar múltiples condiciones. Dialogue: 0,0:01:17.85,0:01:26.19,Default,,0000,0000,0000,,Entonces sólo escribimos "&&" y luego escribimos la siguiente condición, "mouseY < 200". Dialogue: 0,0:01:26.19,0:01:30.32,Default,,0000,0000,0000,,Así que no lo resalta cuando estoy aquí y ¡sí lo hace cuando estoy aquí! ¡Yeey! Dialogue: 0,0:01:30.89,0:01:36.18,Default,,0000,0000,0000,,Hagamos el siguiente cuadro, sólo para probar que esto funciona. Dialogue: 0,0:01:36.18,0:01:38.68,Default,,0000,0000,0000,,Muy bien, sólo tenemos que cambiar algunas cosas. Dialogue: 0,0:01:38.68,0:01:45.39,Default,,0000,0000,0000,,Ahora tenemos que tomar este rectángulo y obviamente cambiar las condiciones por las que no se está resaltando. Dialogue: 0,0:01:45.39,0:01:52.96,Default,,0000,0000,0000,,Así que en esta ocasión, "mouseX" necesita ser más grande que 200 y "mouseY" seguir siendo menor que 200. Dialogue: 0,0:01:52.96,0:01:55.79,Default,,0000,0000,0000,,Hermoso, ¡miren eso! Dialogue: 0,0:01:55.79,0:02:02.25,Default,,0000,0000,0000,,Muy bien, ahora en Cuatro Cuadros, cuando la pelota pega en los bordes, es decir, en las líneas del centro y las esquinas Dialogue: 0,0:02:02.30,0:02:04.51,Default,,0000,0000,0000,,gritamos "¡Edge Ball!" ("¡Fuera!") Dialogue: 0,0:02:04.82,0:02:10.39,Default,,0000,0000,0000,,Y lo quiero hacer aquí también. Empecemos por escribir "EDGE BALL" Dialogue: 0,0:02:10.39,0:02:14.82,Default,,0000,0000,0000,,Y lo voy a escribir en medio y con letras rojas. Dialogue: 0,0:02:14.82,0:02:19.78,Default,,0000,0000,0000,,Muy bien, y sólo quiero que esto pase si estoy en los bordes. Dialogue: 0,0:02:19.78,0:02:22.51,Default,,0000,0000,0000,,Así que voy a añadir un "if", Dialogue: 0,0:02:22.51,0:02:25.85,Default,,0000,0000,0000,,y mover este código dentro del "if". Dialogue: 0,0:02:26.55,0:02:28.78,Default,,0000,0000,0000,,Entonces, ¿cuándo quiero que esto ocurra? Dialogue: 0,0:02:28.78,0:02:36.94,Default,,0000,0000,0000,,Bueno, hay bordes en el centro, así que el centro es cuando "mouseX === 200" Dialogue: 0,0:02:36.94,0:02:40.40,Default,,0000,0000,0000,,Muy bien, vamos a ver. Voy a poner la pelota en el borde. Dialogue: 0,0:02:40.40,0:02:43.82,Default,,0000,0000,0000,,Aquí voy. ¡EDGE BALL! Dialogue: 0,0:02:43.82,0:02:49.40,Default,,0000,0000,0000,,Ok. Mmm. Esto sólo funciona para esta línea del centro. Dialogue: 0,0:02:49.40,0:02:52.13,Default,,0000,0000,0000,,Pero quiero que funcione también para esta otra línea. Dialogue: 0,0:02:52.13,0:03:02.82,Default,,0000,0000,0000,,En ese caso, quiero que "mouseY === 200", porque ahí es donde está la línea del centro. Dialogue: 0,0:03:02.82,0:03:08.06,Default,,0000,0000,0000,,Ok, vamos a ver, no está funcionando. Nada está funcionando. Dialogue: 0,0:03:08.06,0:03:10.80,Default,,0000,0000,0000,,Oh, sólo funciona aquí, en el punto central. Dialogue: 0,0:03:10.80,0:03:18.33,Default,,0000,0000,0000,,Bueno, eso es porque usé un "AND", y lo va a hacer sólo si las dos condiciones aquí son verdaderas, y eso sólo pasa en el punto central. Dialogue: 0,0:03:18.33,0:03:22.10,Default,,0000,0000,0000,,Entonces, lo que en realidad quiero decir es: "si cualquiera de esas condiciones es verdadera". Dialogue: 0,0:03:22.10,0:03:24.70,Default,,0000,0000,0000,,Así que usaremos el operador "OR". Dialogue: 0,0:03:24.70,0:03:27.47,Default,,0000,0000,0000,,El operador OR se escribe así: "||". Dialogue: 0,0:03:27.47,0:03:31.63,Default,,0000,0000,0000,,A esos símbolos los llamamos plecas o barras verticales, y probablemente nunca los habías usado. Dialogue: 0,0:03:31.63,0:03:35.76,Default,,0000,0000,0000,,Tienes que buscarlos en tu teclado, generalmente están en la parte superior derecha. Dialogue: 0,0:03:35.76,0:03:39.38,Default,,0000,0000,0000,,Esperemos que lo tengas en tu teclado. Dialogue: 0,0:03:39.38,0:03:42.28,Default,,0000,0000,0000,,¿Todo bien? Sensacional, vamos a ver si funciona... Dialogue: 0,0:03:42.28,0:03:46.70,Default,,0000,0000,0000,,Muy bien, sí funciona aquí y aquí y también aquí, hermoso... Dialogue: 0,0:03:46.70,0:03:49.49,Default,,0000,0000,0000,,podemos seguir añadiendo condiciones aquí, Dialogue: 0,0:03:49.49,0:03:52.60,Default,,0000,0000,0000,,así que con "AND" y "OR", puedes tener tantas condiciones como quieras, Dialogue: 0,0:03:52.60,0:03:55.79,Default,,0000,0000,0000,,si necesitas comprobar 60 condiciones diferentes, puedes hacerlo completamente, ok. Dialogue: 0,0:03:55.79,0:03:59.10,Default,,0000,0000,0000,,No hemos tenido cuidado de todos los bordes ... Dialogue: 0,0:03:59.10,0:04:04.65,Default,,0000,0000,0000,,digamos que "mouseX" es menor que 3. Dialogue: 0,0:04:04.65,0:04:08.35,Default,,0000,0000,0000,,Eso sería ... aquí vamos, ese pequeño borde de aquí. Dialogue: 0,0:04:08.35,0:04:09.88,Default,,0000,0000,0000,,Muy bien. Dialogue: 0,0:04:09.88,0:04:14.76,Default,,0000,0000,0000,,O "mouseX" es mayor que 397 ("mouseX > 397") Dialogue: 0,0:04:14.76,0:04:17.77,Default,,0000,0000,0000,,Aquí está... ¡hermoso! Dialogue: 0,0:04:17.77,0:04:21.53,Default,,0000,0000,0000,,Entonces podemos hacerlo para todos los bordes. Dialogue: 0,0:04:21.53,0:04:27.70,Default,,0000,0000,0000,,Así que... ¡sí!, existe "AND" y "OR" y ahora puedes ver cómo construir condiciones mucho más complejas en tus programas. Dialogue: 0,0:04:27.70,0:04:31.70,Default,,0000,0000,0000,,Y eso es bueno, porque el mundo es un lugar complejo.