﻿1
00:00:04,390 --> 00:00:05,290
‫Hola y bienvenido.

2
00:00:05,290 --> 00:00:11,140
‫En esta lección, vamos a aprender sobre los operadores booleanos para que podamos

3
00:00:11,140 --> 00:00:18,640
‫hacer declaraciones complicadas que requieren múltiples booleanos para ser verdaderas, como que una gárgola solo se acepte

4
00:00:18,640 --> 00:00:23,440
‫si es la etiqueta correcta y además no se agarra.

5
00:00:23,440 --> 00:00:28,780
‫Entonces, cuando suelto la gárgola, puedes ver que la pared solo responde en ese punto.

6
00:00:29,050 --> 00:00:30,790
‫Vamos a sumergirnos y ver cómo funciona esto.

7
00:00:32,050 --> 00:00:40,600
‫Entonces, idealmente, ahora nos gustaría que nuestro componente desencadenante ignore o no tome un actor aceptable que se está

8
00:00:40,600 --> 00:00:41,920
‫capturando actualmente.

9
00:00:42,070 --> 00:00:48,790
‫Entonces, para cambiar esto, voy a ir a nuestra implementación de actor aceptable en el componente de activación

10
00:00:48,790 --> 00:00:49,440
‫CBP.

11
00:00:50,110 --> 00:00:54,820
‫Y pueden ver que si State estuviera diciendo actualmente, tomemos un actor, si tiene la etiqueta aceptable

12
00:00:54,820 --> 00:00:57,340
‫y eso es lo único que estamos haciendo.

13
00:00:57,790 --> 00:01:01,740
‫Pero lo que quiero hacer es condicionar esto a dos cosas.

14
00:01:01,750 --> 00:01:04,900
‫¿Cómo combinamos dos valores booleanos?

15
00:01:04,910 --> 00:01:06,250
‫Bueno, hay un par de opciones.

16
00:01:06,250 --> 00:01:08,450
‫Tenemos algunos operadores para esto.

17
00:01:08,470 --> 00:01:12,850
‫Uno de ellos es el operador ampersand ampersand, que leemos como.

18
00:01:12,850 --> 00:01:17,650
‫Y esto básicamente significa que será una combinación de dos booleanos.

19
00:01:17,650 --> 00:01:19,780
‫Entonces eso solo es cierto si ambos son ciertos.

20
00:01:20,410 --> 00:01:27,400
‫Entonces, si tuviéramos verdadero y verdadero, entonces eso será igual a verdadero.

21
00:01:28,000 --> 00:01:32,890
‫Mientras que si cualquiera de estos es falso, entonces si el de la

22
00:01:32,890 --> 00:01:40,090
‫derecha es falso, entonces todo será falso, etc. Hay otra opción aquí, que es usar este operador

23
00:01:40,090 --> 00:01:43,930
‫de doble barra así y este se lee como o.

24
00:01:44,200 --> 00:01:49,570
‫Y básicamente esto significa que si alguno de estos dos es verdadero, entonces el resultado será verdadero.

25
00:01:49,840 --> 00:01:52,480
‫Y además, si ambos son verdaderos, el resultado será verdadero.

26
00:01:52,480 --> 00:01:57,260
‫Pero si ambos son falsos, entonces el resultado será falso.

27
00:01:57,490 --> 00:02:00,480
‫Estas son algunas de las expresiones comunes que usamos.

28
00:02:00,490 --> 00:02:08,800
‫Otra cosa que usamos es el signo de exclamación, y el signo de exclamación básicamente invierte cualquier valor booleano que

29
00:02:08,800 --> 00:02:11,680
‫tengamos y lo leemos como no.

30
00:02:12,130 --> 00:02:18,790
‫Entonces puedes tener falso, pero debido a que puse un nudo delante, todo este valor, esta expresión se

31
00:02:18,790 --> 00:02:19,780
‫vuelve verdadera.

32
00:02:20,050 --> 00:02:25,810
‫Y si tuviera que ordenarlo con falso, entonces bueno, porque uno de ellos al menos es verdadero, entonces el

33
00:02:25,810 --> 00:02:27,380
‫resultado va a ser verdadero.

34
00:02:28,390 --> 00:02:36,220
‫Entonces, lo que queremos hacer aquí es esencialmente decir que si tiene una etiqueta de actor, esa es la

35
00:02:36,220 --> 00:02:39,910
‫etiqueta de acto aceptable, pero no la tiene.

36
00:02:40,270 --> 00:02:46,180
‫Entonces, en este caso y no tiene la etiqueta de actor agarrada, entonces es aceptable.

37
00:02:46,300 --> 00:02:47,920
‫Tantos desafíos para ti.

38
00:02:47,920 --> 00:02:52,300
‫¿Cómo usarías esos tres operadores que acabo de explicar?

39
00:02:52,300 --> 00:02:57,210
‫No tiene que usarlos todos, pero ¿cuáles usaría y cómo escribiría esta declaración

40
00:02:57,220 --> 00:02:57,760
‫if?

41
00:03:00,050 --> 00:03:00,350
‫Bueno.

42
00:03:00,350 --> 00:03:03,170
‫Así que voy a poner esto en variables booleanas para que quede muy claro.

43
00:03:03,500 --> 00:03:14,360
‫Así que tengo bool que tiene una etiqueta aceptable va a ser igual a actor que tiene una etiqueta aceptable.

44
00:03:14,540 --> 00:03:17,690
‫Está bien así y punto y coma al final de la línea.

45
00:03:17,960 --> 00:03:27,530
‫Ahora, otro bool va a ser si se agarra y podemos obtener esto yendo actor flecha actor tiene

46
00:03:28,070 --> 00:03:32,930
‫etiqueta y este caso simplemente se agarra así.

47
00:03:32,990 --> 00:03:39,440
‫Entonces, podemos decir que, ya sea que se tome o no sobre esta base, entonces, si

48
00:03:39,440 --> 00:03:44,330
‫lo que queremos decir tiene una etiqueta aceptable, entonces es ampersand.

49
00:03:44,330 --> 00:03:51,680
‫Ampersand no es un signo de exclamación se agarra así.

50
00:03:51,980 --> 00:03:59,030
‫Eso se lee bastante bien si lee el ampersand y el signo de exclamación como y y no,

51
00:03:59,030 --> 00:04:05,600
‫así que si aceptable tiene una etiqueta aceptable y no se toma, entonces devolvemos este actor.

52
00:04:05,810 --> 00:04:08,000
‫Vamos a compilarlo y ver si funciona.

53
00:04:08,270 --> 00:04:14,870
‫Así que sigamos adelante y presionemos play bien, tomemos una gárgola y corramos hacia el área de activación.

54
00:04:15,140 --> 00:04:20,450
‫Y verás, estoy poniendo la gárgola, pero no pasa nada porque todavía no la he soltado.

55
00:04:20,630 --> 00:04:22,880
‫¿Y qué si trato de derribar su placaje?

56
00:04:22,880 --> 00:04:23,780
‫Aquí van.

57
00:04:23,830 --> 00:04:29,630
‫Tan pronto como lo suelto, lo activa, agarra la gárgola lejos de mí y desaparece en el

58
00:04:29,630 --> 00:04:30,110
‫suelo.

59
00:04:30,290 --> 00:04:38,240
‫Ahora, hay un par de lugares en agarrar un CP donde tenemos declaraciones if en las que podríamos tener

60
00:04:38,240 --> 00:04:43,460
‫una si tuviéramos que usar los operadores end or y not.

61
00:04:43,730 --> 00:04:48,920
‫Entonces, uno de los trucos aquí es que cuando estás haciendo algo como esto, donde estamos comprobando

62
00:04:48,920 --> 00:04:55,270
‫si algo no es un puntero nulo, la otra opción es que simplemente puedes eliminar este puntero que no es igual a nulo.

63
00:04:55,280 --> 00:05:04,160
‫Y si simplemente dices si y luego pones algún tipo de puntero como el booleano, eso comprueba automáticamente que

64
00:05:04,160 --> 00:05:06,590
‫no es un puntero nulo.

65
00:05:06,590 --> 00:05:13,760
‫Así que aquí está diciendo que si el identificador de física está disponible aquí, está diciendo que si el componente de captura está

66
00:05:14,030 --> 00:05:16,310
‫disponible, entonces podemos seguir adelante y usarlo.

67
00:05:16,490 --> 00:05:19,340
‫Así que vamos a desafiarte a combinar tus sentencias if.

68
00:05:19,340 --> 00:05:22,280
‫Así que vas a unirlos en componentes tecnológicos.

69
00:05:22,280 --> 00:05:28,130
‫Piense si necesita usar el ampersand, el ampersand, el y el OR o si necesita usar

70
00:05:28,130 --> 00:05:35,150
‫una negación o un nudo o un signo de exclamación y luego únalos en la liberación también y pruebe su

71
00:05:35,150 --> 00:05:37,490
‫funcionalidad y vea si todavía obras.

72
00:05:37,820 --> 00:05:39,530
‫Pausa el video y pruébalo.

73
00:05:42,810 --> 00:05:43,320
‫Bueno.

74
00:05:43,320 --> 00:05:44,020
‫Bienvenido de nuevo.

75
00:05:44,040 --> 00:05:49,950
‫Así que vamos a hacer uso de esto porque básicamente lo que queremos hacer y liberar es

76
00:05:49,950 --> 00:05:57,510
‫que estamos diciendo que si tenemos un identificador de física válido y ese identificador de física tiene un componente agarrado, entonces queremos

77
00:05:57,510 --> 00:06:00,200
‫hacer el cuerpo. de esta sentencia if.

78
00:06:00,210 --> 00:06:02,820
‫Así que es bastante simple escribirlo así.

79
00:06:03,090 --> 00:06:12,180
‫Podemos decir que si el controlador de física y el controlador de física se agarran del componente, entonces podemos hacer lo siguiente.

80
00:06:12,180 --> 00:06:18,390
‫Eso nos permite eliminar esta declaración if de devolución anticipada y acortar un poco el código.

81
00:06:18,960 --> 00:06:26,340
‫Ahora, los ojos de águila entre ustedes pueden preocuparse de que, oye, estamos haciendo referencia a este controlador de

82
00:06:26,340 --> 00:06:32,100
‫física dentro de la declaración if para evaluar si esta declaración final debería funcionar.

83
00:06:32,790 --> 00:06:38,250
‫Ahora hay una característica de y que evaluará primero la cosa de la izquierda.

84
00:06:38,670 --> 00:06:43,860
‫Y si eso es falso, entonces ni siquiera evalúa lo de la derecha.

85
00:06:43,860 --> 00:06:44,760
‫No es necesario.

86
00:06:44,760 --> 00:06:47,310
‫Ya sabe que el resultado va a ser falso.

87
00:06:47,670 --> 00:06:49,950
‫No necesita evaluar nada más.

88
00:06:50,250 --> 00:06:57,510
‫Eso significa que es seguro hacer algo como esto donde el resultado a la derecha de una calculadora solo es

89
00:06:57,510 --> 00:07:01,260
‫seguro si el resultado a la izquierda es verdadero.

90
00:07:01,830 --> 00:07:03,180
‫Y esta es una propiedad muy útil.

91
00:07:03,180 --> 00:07:09,000
‫Y ves que esto se usa mucho cuando usas punteros, primero verificarás el puntero y luego

92
00:07:09,000 --> 00:07:10,260
‫tendrás un ampersand.

93
00:07:10,260 --> 00:07:13,830
‫Ampersand, y luego usará el puntero en el lado derecho.

94
00:07:13,830 --> 00:07:18,450
‫Pero por favor, por favor, no se sienta tentado a intercambiar estos dos en orden.

95
00:07:18,660 --> 00:07:22,680
‫No funcionará al revés y obtendrá bloqueos.

96
00:07:23,040 --> 00:07:28,080
‫Así que vayamos a nuestros componentes de tick donde esencialmente estamos haciendo exactamente lo mismo.

97
00:07:28,080 --> 00:07:30,480
‫Queríamos comprobar que tenemos componentes agarrados.

98
00:07:30,840 --> 00:07:36,930
‫Entonces, lo que podemos hacer aquí arriba es manejar la física y manejar la física.

99
00:07:37,500 --> 00:07:38,910
‫Flecha agarró componente.

100
00:07:38,910 --> 00:07:44,370
‫No necesitamos ese puntero no igual a nulo para mantenerlo limpio y luego podemos continuar y eliminar la declaración

101
00:07:44,370 --> 00:07:49,710
‫if con el retorno y simplemente mantener las líneas de código hacia abajo, mantener la legibilidad un poco más

102
00:07:49,710 --> 00:07:50,190
‫alta.

103
00:07:50,460 --> 00:07:50,940
‫Buena cosa.

104
00:07:50,940 --> 00:07:57,180
‫Así que en esta lección hemos visto cómo usar los operadores final o no en C++.

105
00:07:57,510 --> 00:07:58,740
‫Te veré en la próxima conferencia.

