‫Hola y bienvenido.
‫En esta lección, comenzaremos a agregar aún más funcionalidad a nuestro árbol de comportamiento
‫agregando una tarea personalizada, este valor de pizarra claro, lo haremos totalmente personalizado en
‫C++.
‫Vamos a sumergirnos y ver cómo hacerlo.
‫Bueno.
‫Así que me gustaría expandir el comportamiento de este árbol de comportamiento para que podamos investigar.
‫Y una vez que terminamos de investigar, pasamos a regresar a casa.
‫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.
‫Y lo que tenemos que hacer para llegar allí es tener una idea de si ya hemos visitado el
‫último lugar de juego conocido.
‫Y la forma en que lo haré es esencialmente eliminando el último lugar de juego conocido una vez que
‫lo hayamos investigado.
‫Ahora, si actualmente no tenemos una forma de hacerlo, pero antes que nada, creemos el decorador.
‫Así que agregó el decorador a la pizarra de investigación que va a ir y le cambió el nombre
‫a ha investigado así.
‫Y esto va a verificar si la última ubicación conocida está configurada.
‫Y eso significa que necesitamos tener algún tipo de nodo que nos permita desarmar una tecla de pizarra.
‫Ahora, eso en realidad no existe todavía.
‫Pensé que sí, pero no es así.
‫Así que esta es una gran oportunidad para mostrarte cómo podemos crear una tarea personalizada.
‫Ahora, podrías hacerlo muy fácilmente usando planos o ¿dónde?
‫Les voy a mostrar la un poco Hardaway, pero la que les da mucho poder, que es hacerlo
‫a través de C++.
‫Así que vamos a ir a nuestro navegador de contenido principal, ir a agregar nuevo e ir a la nueva clase de C++.
‫Y vamos a querer mostrar la casilla de verificación de todas las clases y luego buscaremos B. t Tarea.
‫Y hay muchas opciones aquí.
‫Puede ver que muchos de ellos son en realidad tareas integradas, como hacer ruido o moverse aquí
‫o esperar.
‫Ahora puede ir y echar un vistazo a C++ para ver cómo se implementan.
‫Eso siempre es útil.
‫Pero lo que nos interesa es ¿de qué debemos heredar?
‫¿Qué debemos usar como base para nuestro propio nodo?
‫Ahora hay un par de opciones aquí.
‫Puede elegir tener un nodo de tarea como base, o puede usar la base de la pizarra.
‫Ahora, ¿cuál es la diferencia entre los dos?
‫Echemos un vistazo rápido.
‫Así que muévete para usar la base de la pizarra.
‫Y lo que eso significa es que tiene este menú desplegable de teclas de pizarra que nos permite elegir una tecla de pizarra con
‫la que trabajar.
‫Eso significa que no tenemos que codificar en nuestra tarea las teclas de pizarra con las que estamos trabajando,
‫lo cual es excelente porque nos permite reutilizar esas tareas en diferentes situaciones.
‫Entonces, si necesita una tecla de pizarra, entonces la base de la pizarra es excelente.
‫De lo contrario usas el otro.
‫Así que vamos y agregamos una nueva clase de C++ nuevamente, mostramos todas las clases y estamos buscando la tarea
‫de ritmo nuevamente.
‫Y todavía estamos seleccionando el éxito de Blackboard Base a continuación.
‫Ahora voy a cambiar el nombre de esto a Beat Task, subrayar el valor claro de la pizarra.
‫Voy a seguir adelante y crear esa clase aquí.
‫Ahora, inicialmente, esto fallará.
‫Así que hagamos clic.
‫Sí y ver cuál es el mensaje de error aquí.
‫Está diciendo algo sobre L y K, que significa enlace, símbolo externo no resuelto, bla, bla, bla.
‫Por lo general, cuando recibe este tipo de error del enlazador, significa que tiene algo
‫en la cabecera de los archivos que no estaba en su C++ o, en este caso, significa que no hay un módulo
‫incluido que estamos confiando.
‫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
‫IA.
‫Parece estar buscando algo que ver con las tareas del juego y ese es un módulo de hecho.
‫Entonces, si pasamos al código de Visual Studio y simplemente abrimos el explorador de archivos, solo se desplazará hacia arriba
‫hasta mi proyecto.
‫Luego, bajo el tirador simple de origen, debería haber una construcción de punto de tirador simple, punto C.
‫Entonces, cualquiera que sea el nombre de su proyecto, Dot Builders.
‫Sí.
‫Y aquí, si nos doy un poco más de espacio, pueden ver que tenemos estas dependencias públicas, nombres
‫de módulos.
‫Y el nombre del módulo aquí que queremos agregar a esta lista será juego.
‫Tareas con una S y si continuamos y agregamos eso y volvemos y compilamos ahora, con suerte
‫todo debería compilarse correctamente por cualquier motivo.
‫Esto no se agrega automáticamente cuando anula la tarea de ritmo.
‫Ahora, una vez hecho esto, vamos a echar un vistazo a lo que se creó aquí.
‫Deberíamos tener una nueva clase, que es nuestra tarea beta, clip de subrayado, valor de pizarra.
‫Y está bastante vacío en este momento.
‫Ahora, lo que quiero hacer es agregar esto a nuestro árbol de comportamiento en este momento, tendría
‫un nombre feo.
‫Así que queremos un buen nombre legible por humanos para esta tarea.
‫Y la forma en que vamos a hacer esto es agregando un constructor y estableciendo una propiedad.
‫Así que vamos a crear un constructor público aquí.
‫El constructor siempre tiene el mismo nombre que la clase, así que podemos copiarlo.
‫No necesita tomar ningún punto y coma de argumento al final y luego vamos a crear
‫la implementación en C++.
‫Y la implementación solo necesita establecer una variable llamada nombre de nodo.
‫Entonces, si establece el nombre del nodo y luego usa una cadena, entonces la cadena que establezcamos será el nombre del nodo.
‫Así que va a ser una pizarra clara.
‫El valor solo con los espacios en mayúsculas correctas debería ser agradable y fácil.
‫Ahora, una cosa que olvidé hacer en el momento de la grabación es rodear esto con la macro de texto.
‫Ahora, debe continuar y hacer eso en su código, pero verá que en mi código persistirá
‫y será así.
‫Y deberíamos poder ir y compilar eso ahora.
‫Impresionante que compiló con éxito.
‫Así que lo desafío a agregar este nuevo nodo.
‫Así que agréguelo al final del comportamiento de investigación y simplemente verifique que se complete.
‫Básicamente, debería completarse automáticamente sin hacer nada en absoluto, pero verifique que el nombre sea
‫correcto.
‫Pueden agregarlo y veremos cómo agregar el comportamiento en la próxima lección.
‫Así que pausa el video y pruébalo.
‫Bueno.
‫Bienvenido de nuevo.
‫Así que vayamos a Enemy II y agreguemos al final del comportamiento de investigación.
‫Vamos a agregar nuestro valor de pizarra clara.
‫Puedes ver que tiene el bonito nombre allí.
‫Y también puede ver que si va al panel de detalles, puede seleccionar una tecla de pizarra.
‫Vamos a seleccionar la ubicación de reproducción del apellido.
‫Aunque eso todavía no hace nada, puede ver que tenemos esa funcionalidad porque
‫la heredamos de Blackboard Base y solo verifiquemos que se complete automáticamente.
‫Debería hacerlo y luego debería seguir adelante.
‫Pasemos a una tarea de pesas después para que podamos ver que simplemente pasa directamente y
‫se completa automáticamente.
‫Así que voy a jugar, voy a esconderme en una esquina tanto como pueda, y luego voy a ir y echar un vistazo
‫a la investigación por la que pasó y, de hecho, él me ha visto.
‫Así que vamos a escondernos de nuevo y escondernos a la vuelta de la esquina si puedo.
‫Voy a ir y luego voy a ir a donde ellos van.
‫Pasó por el valor claro de la pizarra, lo que debe significar que tuvo éxito
‫porque sabemos que si era una secuencia y falló, debe haberse detenido y no haber subido al peso.
‫Entonces eso está funcionando correctamente.
‫El valor de la pizarra clara es simplemente devolver el éxito de inmediato y esperar el siguiente paso.
‫Vamos a ver cómo podemos agregar la funcionalidad.
‫Veré allí.