﻿1
00:00:04,550 --> 00:00:05,740
‫Hola y bienvenido.

2
00:00:05,750 --> 00:00:11,270
‫En esta lección, comenzaremos a agregar aún más funcionalidad a nuestro árbol de comportamiento

3
00:00:11,270 --> 00:00:17,150
‫agregando una tarea personalizada, este valor de pizarra claro, lo haremos totalmente personalizado en

4
00:00:17,150 --> 00:00:17,960
‫C++.

5
00:00:18,230 --> 00:00:19,970
‫Vamos a sumergirnos y ver cómo hacerlo.

6
00:00:21,280 --> 00:00:21,440
‫Bueno.

7
00:00:21,460 --> 00:00:28,740
‫Así que me gustaría expandir el comportamiento de este árbol de comportamiento para que podamos investigar.

8
00:00:28,750 --> 00:00:32,830
‫Y una vez que terminamos de investigar, pasamos a regresar a casa.

9
00:00:33,130 --> 00:00:40,000
‫Así que voy a agregar un pequeño movimiento a la tarea aquí después, que simplemente nos devuelve a la ubicación de inicio.

10
00:00:40,720 --> 00:00:47,080
‫Y lo que tenemos que hacer para llegar allí es tener una idea de si ya hemos visitado el

11
00:00:47,080 --> 00:00:48,910
‫último lugar de juego conocido.

12
00:00:49,360 --> 00:00:54,430
‫Y la forma en que lo haré es esencialmente eliminando el último lugar de juego conocido una vez que

13
00:00:54,430 --> 00:00:55,360
‫lo hayamos investigado.

14
00:00:55,900 --> 00:01:00,730
‫Ahora, si actualmente no tenemos una forma de hacerlo, pero antes que nada, creemos el decorador.

15
00:01:00,910 --> 00:01:09,130
‫Así que agregó el decorador a la pizarra de investigación que va a ir y le cambió el nombre

16
00:01:09,130 --> 00:01:10,930
‫a ha investigado así.

17
00:01:11,440 --> 00:01:16,360
‫Y esto va a verificar si la última ubicación conocida está configurada.

18
00:01:16,870 --> 00:01:22,810
‫Y eso significa que necesitamos tener algún tipo de nodo que nos permita desarmar una tecla de pizarra.

19
00:01:23,800 --> 00:01:25,390
‫Ahora, eso en realidad no existe todavía.

20
00:01:25,390 --> 00:01:26,560
‫Pensé que sí, pero no es así.

21
00:01:26,590 --> 00:01:31,150
‫Así que esta es una gran oportunidad para mostrarte cómo podemos crear una tarea personalizada.

22
00:01:31,450 --> 00:01:35,390
‫Ahora, podrías hacerlo muy fácilmente usando planos o ¿dónde?

23
00:01:35,480 --> 00:01:39,760
‫Les voy a mostrar la un poco Hardaway, pero la que les da mucho poder, que es hacerlo

24
00:01:39,760 --> 00:01:40,780
‫a través de C++.

25
00:01:41,530 --> 00:01:48,670
‫Así que vamos a ir a nuestro navegador de contenido principal, ir a agregar nuevo e ir a la nueva clase de C++.

26
00:01:48,670 --> 00:01:54,220
‫Y vamos a querer mostrar la casilla de verificación de todas las clases y luego buscaremos B. t Tarea.

27
00:01:54,640 --> 00:01:56,710
‫Y hay muchas opciones aquí.

28
00:01:57,050 --> 00:02:03,700
‫Puede ver que muchos de ellos son en realidad tareas integradas, como hacer ruido o moverse aquí

29
00:02:03,700 --> 00:02:04,630
‫o esperar.

30
00:02:05,200 --> 00:02:08,910
‫Ahora puede ir y echar un vistazo a C++ para ver cómo se implementan.

31
00:02:08,920 --> 00:02:09,850
‫Eso siempre es útil.

32
00:02:10,270 --> 00:02:13,660
‫Pero lo que nos interesa es ¿de qué debemos heredar?

33
00:02:13,660 --> 00:02:16,930
‫¿Qué debemos usar como base para nuestro propio nodo?

34
00:02:17,410 --> 00:02:18,970
‫Ahora hay un par de opciones aquí.

35
00:02:18,980 --> 00:02:25,360
‫Puede elegir tener un nodo de tarea como base, o puede usar la base de la pizarra.

36
00:02:25,390 --> 00:02:26,830
‫Ahora, ¿cuál es la diferencia entre los dos?

37
00:02:27,520 --> 00:02:28,390
‫Echemos un vistazo rápido.

38
00:02:28,780 --> 00:02:31,890
‫Así que muévete para usar la base de la pizarra.

39
00:02:31,900 --> 00:02:39,070
‫Y lo que eso significa es que tiene este menú desplegable de teclas de pizarra que nos permite elegir una tecla de pizarra con

40
00:02:39,070 --> 00:02:40,060
‫la que trabajar.

41
00:02:40,300 --> 00:02:45,880
‫Eso significa que no tenemos que codificar en nuestra tarea las teclas de pizarra con las que estamos trabajando,

42
00:02:45,880 --> 00:02:49,750
‫lo cual es excelente porque nos permite reutilizar esas tareas en diferentes situaciones.

43
00:02:50,110 --> 00:02:54,740
‫Entonces, si necesita una tecla de pizarra, entonces la base de la pizarra es excelente.

44
00:02:54,760 --> 00:02:56,410
‫De lo contrario usas el otro.

45
00:02:56,890 --> 00:03:02,300
‫Así que vamos y agregamos una nueva clase de C++ nuevamente, mostramos todas las clases y estamos buscando la tarea

46
00:03:02,440 --> 00:03:03,520
‫de ritmo nuevamente.

47
00:03:03,520 --> 00:03:06,670
‫Y todavía estamos seleccionando el éxito de Blackboard Base a continuación.

48
00:03:07,000 --> 00:03:14,410
‫Ahora voy a cambiar el nombre de esto a Beat Task, subrayar el valor claro de la pizarra.

49
00:03:15,370 --> 00:03:18,160
‫Voy a seguir adelante y crear esa clase aquí.

50
00:03:18,850 --> 00:03:20,410
‫Ahora, inicialmente, esto fallará.

51
00:03:20,410 --> 00:03:20,920
‫Así que hagamos clic.

52
00:03:20,920 --> 00:03:23,230
‫Sí y ver cuál es el mensaje de error aquí.

53
00:03:23,770 --> 00:03:30,040
‫Está diciendo algo sobre L y K, que significa enlace, símbolo externo no resuelto, bla, bla, bla.

54
00:03:30,070 --> 00:03:35,500
‫Por lo general, cuando recibe este tipo de error del enlazador, significa que tiene algo

55
00:03:35,500 --> 00:03:43,000
‫en la cabecera de los archivos que no estaba en su C++ o, en este caso, significa que no hay un módulo

56
00:03:43,000 --> 00:03:44,560
‫incluido que estamos confiando.

57
00:03:45,010 --> 00:03:51,970
‫Y según los tipos de símbolos que está buscando, puedo ver aquí que es la interfaz del propietario de la tarea de juego de

58
00:03:51,970 --> 00:03:52,510
‫IA.

59
00:03:53,050 --> 00:03:58,870
‫Parece estar buscando algo que ver con las tareas del juego y ese es un módulo de hecho.

60
00:03:58,880 --> 00:04:05,740
‫Entonces, si pasamos al código de Visual Studio y simplemente abrimos el explorador de archivos, solo se desplazará hacia arriba

61
00:04:05,740 --> 00:04:07,030
‫hasta mi proyecto.

62
00:04:07,360 --> 00:04:12,210
‫Luego, bajo el tirador simple de origen, debería haber una construcción de punto de tirador simple, punto C.

63
00:04:12,280 --> 00:04:14,350
‫Entonces, cualquiera que sea el nombre de su proyecto, Dot Builders.

64
00:04:14,350 --> 00:04:14,650
‫Sí.

65
00:04:15,130 --> 00:04:21,160
‫Y aquí, si nos doy un poco más de espacio, pueden ver que tenemos estas dependencias públicas, nombres

66
00:04:21,160 --> 00:04:22,030
‫de módulos.

67
00:04:22,180 --> 00:04:29,470
‫Y el nombre del módulo aquí que queremos agregar a esta lista será juego.

68
00:04:30,920 --> 00:04:37,370
‫Tareas con una S y si continuamos y agregamos eso y volvemos y compilamos ahora, con suerte

69
00:04:37,370 --> 00:04:40,040
‫todo debería compilarse correctamente por cualquier motivo.

70
00:04:40,040 --> 00:04:44,480
‫Esto no se agrega automáticamente cuando anula la tarea de ritmo.

71
00:04:44,720 --> 00:04:48,470
‫Ahora, una vez hecho esto, vamos a echar un vistazo a lo que se creó aquí.

72
00:04:49,100 --> 00:04:56,480
‫Deberíamos tener una nueva clase, que es nuestra tarea beta, clip de subrayado, valor de pizarra.

73
00:04:56,840 --> 00:04:58,910
‫Y está bastante vacío en este momento.

74
00:04:59,420 --> 00:05:05,090
‫Ahora, lo que quiero hacer es agregar esto a nuestro árbol de comportamiento en este momento, tendría

75
00:05:05,090 --> 00:05:06,140
‫un nombre feo.

76
00:05:06,440 --> 00:05:09,920
‫Así que queremos un buen nombre legible por humanos para esta tarea.

77
00:05:10,280 --> 00:05:14,660
‫Y la forma en que vamos a hacer esto es agregando un constructor y estableciendo una propiedad.

78
00:05:14,660 --> 00:05:17,330
‫Así que vamos a crear un constructor público aquí.

79
00:05:17,990 --> 00:05:21,350
‫El constructor siempre tiene el mismo nombre que la clase, así que podemos copiarlo.

80
00:05:21,600 --> 00:05:26,660
‫No necesita tomar ningún punto y coma de argumento al final y luego vamos a crear

81
00:05:26,660 --> 00:05:27,950
‫la implementación en C++.

82
00:05:28,640 --> 00:05:33,920
‫Y la implementación solo necesita establecer una variable llamada nombre de nodo.

83
00:05:34,280 --> 00:05:40,760
‫Entonces, si establece el nombre del nodo y luego usa una cadena, entonces la cadena que establezcamos será el nombre del nodo.

84
00:05:40,760 --> 00:05:42,920
‫Así que va a ser una pizarra clara.

85
00:05:44,120 --> 00:05:48,710
‫El valor solo con los espacios en mayúsculas correctas debería ser agradable y fácil.

86
00:05:48,740 --> 00:05:54,020
‫Ahora, una cosa que olvidé hacer en el momento de la grabación es rodear esto con la macro de texto.

87
00:05:54,350 --> 00:05:59,540
‫Ahora, debe continuar y hacer eso en su código, pero verá que en mi código persistirá

88
00:05:59,840 --> 00:06:01,220
‫y será así.

89
00:06:01,850 --> 00:06:04,940
‫Y deberíamos poder ir y compilar eso ahora.

90
00:06:06,680 --> 00:06:08,900
‫Impresionante que compiló con éxito.

91
00:06:09,470 --> 00:06:11,960
‫Así que lo desafío a agregar este nuevo nodo.

92
00:06:12,290 --> 00:06:17,030
‫Así que agréguelo al final del comportamiento de investigación y simplemente verifique que se complete.

93
00:06:17,030 --> 00:06:22,370
‫Básicamente, debería completarse automáticamente sin hacer nada en absoluto, pero verifique que el nombre sea

94
00:06:22,370 --> 00:06:22,970
‫correcto.

95
00:06:22,970 --> 00:06:26,210
‫Pueden agregarlo y veremos cómo agregar el comportamiento en la próxima lección.

96
00:06:26,220 --> 00:06:27,320
‫Así que pausa el video y pruébalo.

97
00:06:28,640 --> 00:06:29,080
‫Bueno.

98
00:06:29,090 --> 00:06:29,630
‫Bienvenido de nuevo.

99
00:06:29,690 --> 00:06:35,600
‫Así que vayamos a Enemy II y agreguemos al final del comportamiento de investigación.

100
00:06:35,600 --> 00:06:39,380
‫Vamos a agregar nuestro valor de pizarra clara.

101
00:06:39,380 --> 00:06:41,210
‫Puedes ver que tiene el bonito nombre allí.

102
00:06:41,630 --> 00:06:45,590
‫Y también puede ver que si va al panel de detalles, puede seleccionar una tecla de pizarra.

103
00:06:45,590 --> 00:06:47,960
‫Vamos a seleccionar la ubicación de reproducción del apellido.

104
00:06:47,960 --> 00:06:53,180
‫Aunque eso todavía no hace nada, puede ver que tenemos esa funcionalidad porque

105
00:06:53,180 --> 00:06:58,190
‫la heredamos de Blackboard Base y solo verifiquemos que se complete automáticamente.

106
00:06:58,190 --> 00:07:00,770
‫Debería hacerlo y luego debería seguir adelante.

107
00:07:00,770 --> 00:07:06,560
‫Pasemos a una tarea de pesas después para que podamos ver que simplemente pasa directamente y

108
00:07:06,560 --> 00:07:07,790
‫se completa automáticamente.

109
00:07:08,240 --> 00:07:17,420
‫Así que voy a jugar, voy a esconderme en una esquina tanto como pueda, y luego voy a ir y echar un vistazo

110
00:07:17,420 --> 00:07:23,030
‫a la investigación por la que pasó y, de hecho, él me ha visto.

111
00:07:23,030 --> 00:07:26,930
‫Así que vamos a escondernos de nuevo y escondernos a la vuelta de la esquina si puedo.

112
00:07:28,520 --> 00:07:31,510
‫Voy a ir y luego voy a ir a donde ellos van.

113
00:07:31,520 --> 00:07:35,790
‫Pasó por el valor claro de la pizarra, lo que debe significar que tuvo éxito

114
00:07:35,790 --> 00:07:40,730
‫porque sabemos que si era una secuencia y falló, debe haberse detenido y no haber subido al peso.

115
00:07:41,180 --> 00:07:42,890
‫Entonces eso está funcionando correctamente.

116
00:07:42,890 --> 00:07:48,630
‫El valor de la pizarra clara es simplemente devolver el éxito de inmediato y esperar el siguiente paso.

117
00:07:48,650 --> 00:07:51,710
‫Vamos a ver cómo podemos agregar la funcionalidad.

118
00:07:51,950 --> 00:07:52,550
‫Veré allí.

