﻿1
00:00:04,510 --> 00:00:05,470
‫Hola y bienvenido.

2
00:00:05,470 --> 00:00:12,010
‫En esta lección, vamos a restringir la cantidad de munición que tenemos para que una vez

3
00:00:12,010 --> 00:00:16,060
‫que la hayamos usado, ya no podamos generar proyectiles.

4
00:00:16,360 --> 00:00:20,230
‫Me he quedado sin proyectiles e incluso me sale un mensaje diciendo que me quedé sin munición.

5
00:00:20,230 --> 00:00:22,090
‫No puedo engendrar más.

6
00:00:22,390 --> 00:00:24,370
‫Así que vamos a sumergirnos y ver cómo hacemos esto.

7
00:00:25,600 --> 00:00:33,940
‫Entonces, idealmente, lo que queremos que suceda es que cuando la munición se reduce a cero, ya no podemos generar

8
00:00:33,940 --> 00:00:34,900
‫nuevos proyectiles.

9
00:00:34,900 --> 00:00:42,520
‫Pero, ¿cómo controlamos el flujo de nuestro código a través de valores en nuestras variables?

10
00:00:42,820 --> 00:00:46,930
‫Bueno, la solución a este enigma es algo llamado nodo de rama.

11
00:00:47,260 --> 00:00:54,280
‫Entonces, ramas, letras, verifique si algo es cierto o no, y luego haga algo en función del resultado.

12
00:00:54,580 --> 00:01:00,730
‫Por lo tanto, es posible que tenga un nodo de rama similar a este que dice Si tengo hambre, entonces la condición es

13
00:01:00,730 --> 00:01:04,510
‫que tengo hambre, luego coma comida chatarra mientras la esposa no está mirando.

14
00:01:04,750 --> 00:01:08,410
‫Y si eso no es cierto, entonces sigue jugando videojuegos.

15
00:01:08,410 --> 00:01:14,440
‫Entonces, estos nodos de rama nos permiten hacer una cosa si una condición es verdadera y otra cosa si es

16
00:01:14,440 --> 00:01:14,800
‫falsa.

17
00:01:15,040 --> 00:01:17,950
‫Cualquiera de estas opciones en realidad no podría hacer nada.

18
00:01:17,950 --> 00:01:22,840
‫Entonces, solo podría conectar el nodo falso, o solo podría conectar el nodo verdadero.

19
00:01:23,110 --> 00:01:25,330
‫Cualquiera de estos va a funcionar.

20
00:01:25,600 --> 00:01:27,460
‫Entonces lo recordarás.

21
00:01:27,460 --> 00:01:35,020
‫O tal vez recuerdes que el color rojo estaba asociado con variables de tipo booleano en irreal.

22
00:01:35,020 --> 00:01:37,420
‫Así que recordemos qué es un bool.

23
00:01:38,020 --> 00:01:44,290
‫Un bool es la abreviatura de booleano y hay tipos que pueden almacenar uno de dos valores, ya sea verdadero o falso,

24
00:01:44,290 --> 00:01:45,430
‫sí o no.

25
00:01:45,820 --> 00:01:49,360
‫A menudo se usan con sentencias if o ramas.

26
00:01:49,360 --> 00:01:53,560
‫Así que en el futuro vamos a estar en C++, vamos a estar llamando a ramas si declaraciones.

27
00:01:53,560 --> 00:01:55,090
‫¿Pero es eso lo mismo?

28
00:01:55,090 --> 00:01:56,110
‫Es el mismo concepto.

29
00:01:56,230 --> 00:02:01,870
‫Y pueden controlar si algo sucede o no y ciertos nodos pueden devolver valores booleanos.

30
00:02:01,870 --> 00:02:04,300
‫Entonces, ¿qué tipo de nodos podrían devolver valores booleanos?

31
00:02:04,300 --> 00:02:06,580
‫¿Qué tipo de respuesta queremos?

32
00:02:06,580 --> 00:02:13,420
‫Bueno, ¿cuándo es que queremos permitir que suceda el actor de generación?

33
00:02:13,420 --> 00:02:16,450
‫¿Cuándo queremos que se cree un nuevo proyectil?

34
00:02:16,630 --> 00:02:23,890
‫Solo queremos que se cree un nuevo proyectil si la cantidad de munición que tenemos es mayor que cero.

35
00:02:24,160 --> 00:02:31,600
‫Entonces, afortunadamente, si hace clic derecho en su gráfico de eventos y busca mayor, hay un nodo para

36
00:02:31,600 --> 00:02:32,050
‫eso.

37
00:02:32,060 --> 00:02:40,570
‫Estos tipos de operadores o nodos se llaman comparación porque toman dos valores y crean una comparación entre

38
00:02:40,570 --> 00:02:45,010
‫ellos y nos permiten tener una respuesta booleana.

39
00:02:45,010 --> 00:02:48,880
‫Así que mayor es un ejemplo, menos es otro ejemplo.

40
00:02:48,880 --> 00:02:52,660
‫También puede ver esto menos igual, lo que significa que es menor o igual.

41
00:02:52,960 --> 00:02:58,390
‫También hay igual que es no es uno también igual o no igual.

42
00:02:58,630 --> 00:03:01,180
‫Si dos valores son iguales, devuelve verdadero.

43
00:03:01,180 --> 00:03:02,680
‫De lo contrario, devuelve falso.

44
00:03:02,980 --> 00:03:04,990
‫Así que actualicemos un poco nuestro glosario.

45
00:03:04,990 --> 00:03:09,280
‫Hemos averiguado que una rama es hacer o no hacer algo basado en un toro.

46
00:03:09,520 --> 00:03:15,490
‫Descubrimos que los toros o booleanos son un tipo de datos de sí o no, y que la comparación es

47
00:03:15,490 --> 00:03:20,740
‫cosas como menor que mayor que igual, etc. que crucialmente devuelven un valor booleano.

48
00:03:21,010 --> 00:03:24,730
‫Entonces, intentemos usar una de estas comparaciones.

49
00:03:24,730 --> 00:03:30,550
‫Voy a hacer clic con el botón derecho y agregar la mayor comparación aquí.

50
00:03:30,820 --> 00:03:36,430
‫Luego voy a controlar, hacer clic en la variable de munición y arrastrarla al primer nodo de nuestro nodo de

51
00:03:36,430 --> 00:03:36,940
‫comparación.

52
00:03:37,210 --> 00:03:40,870
‫Y luego puede ver que el valor predeterminado aquí es en realidad mayor que cero.

53
00:03:40,870 --> 00:03:42,310
‫Así que eso es exactamente lo que queremos.

54
00:03:42,310 --> 00:03:49,450
‫Tenemos un nodo que dice ¿Es la munición mayor que cero y el valor de retorno es un booleano que dice sí si es

55
00:03:49,450 --> 00:03:51,550
‫así y no si no lo es?

56
00:03:51,940 --> 00:03:57,340
‫Entonces, lo que queremos hacer es tomar este valor de retorno booleano, arrastrarlo y buscar la rama.

57
00:03:57,670 --> 00:04:03,730
‫Luego, podemos agregar un nodo de rama y automáticamente conecta la condición de entrada con el booleano que

58
00:04:03,730 --> 00:04:04,750
‫estábamos arrastrando.

59
00:04:04,870 --> 00:04:14,410
‫Ahora voy a arrastrar hacia atrás mi evento de barra espaciadora y arrastrar su pin de ejecución de nodo presionado a la entrada de

60
00:04:14,410 --> 00:04:15,520
‫la rama.

61
00:04:15,520 --> 00:04:17,830
‫Entonces eso va a ejecutar nuestra rama.

62
00:04:18,130 --> 00:04:25,060
‫Entonces queremos que la rama, si es verdad, siga adelante y genere el proyectil y, de lo contrario, no

63
00:04:25,060 --> 00:04:25,930
‫hará nada.

64
00:04:26,170 --> 00:04:27,130
‫Así que probemos esto.

65
00:04:27,130 --> 00:04:33,280
‫Si presionamos reproducir y luego generamos muchos proyectiles, hacemos que nuestro valor de proyectil baje a cero.

66
00:04:33,280 --> 00:04:39,940
‫Puedes ver que ahora, no importa cuánto presione la barra espaciadora, no recibo más proyectiles.

67
00:04:40,300 --> 00:04:43,690
‫Así que me gustaría desafiarte a que imprimas sin munición.

68
00:04:44,020 --> 00:04:49,060
‫Entonces use la rama falsa para que agreguemos un nodo de impresión allí.

69
00:04:49,390 --> 00:04:54,280
‫Y básicamente, cuando nos quedemos sin munición, me gustaría que imprimiera sin munición.

70
00:04:54,280 --> 00:04:56,800
‫Así que prueba tu código y verifica que eso esté sucediendo.

71
00:04:57,130 --> 00:04:58,930
‫Pausa el video y pruébalo.

72
00:05:02,260 --> 00:05:02,850
‫Bueno.

73
00:05:02,860 --> 00:05:03,760
‫Bienvenido de nuevo.

74
00:05:03,940 --> 00:05:09,220
‫Así que tenemos esta segunda rama de nuestro nodo de rama.

75
00:05:09,220 --> 00:05:13,360
‫Simplemente arrastremos esto hacia atrás para que nuestras líneas no se crucen con estos pines de ejecución.

76
00:05:13,660 --> 00:05:17,950
‫Y la rama falsa debería llegar hasta aquí donde va a hacer una cadena de impresión.

77
00:05:18,310 --> 00:05:23,800
‫Y la cadena que quiero que imprima simplemente se quedará sin munición.

78
00:05:24,010 --> 00:05:31,390
‫Ahora, si continuamos y jugamos y disparamos las 20 rondas de munición Cannonball, puedes ver que cada vez que presiono la barra

79
00:05:31,390 --> 00:05:37,750
‫espaciadora, solo imprime el mensaje de que me quedé sin munición, lo que le da al jugador la indicación

80
00:05:37,750 --> 00:05:41,290
‫de por qué. no aparecen más bolas en la escena.

81
00:05:41,530 --> 00:05:42,730
‫Eso es todo por esta conferencia.

82
00:05:42,760 --> 00:05:44,080
‫Te veré en la próxima.

