‫Olá e bem-vindo.
‫Nesta palestra, começaremos a adicionar ainda mais funcionalidades à nossa árvore de comportamento,
‫adicionando uma tarefa personalizada, esse valor de quadro-negro claro, que faremos totalmente personalizado em
‫C++.
‫Vamos mergulhar e ver como fazê-lo.
‫OK.
‫Então eu gostaria de expandir o comportamento desta árvore de comportamento para que possamos investigar.
‫E uma vez que terminamos de investigar, passamos a voltar para casa.
‫Então, vou adicionar um pequeno movimento à tarefa aqui depois, o que apenas nos retorna ao local inicial.
‫E o que precisamos fazer para chegar lá é ter alguma noção se já visitamos o último
‫local de jogo conhecido.
‫E a maneira como vou fazer isso é essencialmente desbancar o último local de jogo conhecido depois
‫de investigá-lo.
‫Agora, se atualmente não temos uma maneira de fazer isso, mas antes de tudo, vamos criar o decorador.
‫Então, acrescentou o decorador para investigar o quadro-negro que irá e renomeá-lo para
‫investigar assim.
‫E isso vai verificar se o último local conhecido está definido.
‫E isso significa que precisamos ter algum tipo de nó que nos permita desarmar uma tecla do quadro-negro.
‫Agora, isso ainda não existe.
‫Eu pensei que sim, mas não.
‫Portanto, esta é uma ótima oportunidade para mostrar como podemos criar uma tarefa personalizada.
‫Agora, você poderia fazer isso facilmente usando plantas ou onde?
‫Vou mostrar um pouco do Hardaway, mas aquele que lhe dá muito poder, que é fazer isso
‫por meio de C++.
‫Então, vamos para o nosso navegador de conteúdo principal, vá para adicionar novo e vá para a nova classe C++.
‫E vamos querer mostrar a caixa de seleção de todas as classes e, em seguida, procuramos por B. T. Tarefa.
‫E há muitas opções aqui.
‫Você pode ver que muitos deles são realmente aqueles construídos em tarefas como fazer barulho ou há um movimento para aqui
‫ou esperar.
‫Agora você pode dar uma olhada no C++ para ver como eles são implementados.
‫Isso é sempre útil.
‫Mas o que nos interessa é do que devemos herdar?
‫O que devemos usar como base para nosso próprio nó?
‫Agora há algumas opções aqui.
‫Você pode optar por ter um nó de tarefa como base ou usar a base do quadro-negro.
‫Agora, qual é a diferença entre os dois?
‫Vamos dar uma olhada rápida.
‫Então vá para realmente usa a base do quadro-negro.
‫E o que isso significa é que ele tem esse menu suspenso de teclas do quadro-negro que nos permite escolher uma tecla do
‫quadro-negro para trabalhar.
‫Isso significa que não precisamos codificar em nossa tarefa as teclas do quadro-negro com as quais estamos trabalhando, o
‫que é ótimo porque nos permite reutilizar essas tarefas em diferentes situações.
‫Portanto, se você precisar de uma chave de quadro-negro, a base de quadro-negro é uma ótima opção.
‫Caso contrário, você usa o outro.
‫Então vamos adicionar novo adicionar uma nova classe C++ novamente, mostrar todas as classes e estamos procurando a
‫tarefa beat novamente.
‫E ainda estamos selecionando o próximo hit Blackboard Base.
‫Agora vou renomear isso para Beat Task, sublinhando o valor do quadro-negro claro.
‫Eu vou em frente e criar essa classe aqui.
‫Agora, inicialmente, isso falhará.
‫Então vamos clicar.
‫Sim e veja qual é a mensagem de erro aqui.
‫Está dizendo algo sobre L e K, que significa link não resolvido, símbolo externo, blá, blá, blá.
‫Normalmente quando você tem esse tipo de erro do linker, isso está dizendo que você
‫tem algo na sua cabeça de arquivos que não estava no seu C++ ou neste caso significa que não há um módulo
‫incluído que estamos confiando.
‫E com base nos tipos de símbolos que está procurando, posso ver aqui que é a interface do proprietário da tarefa de jogabilidade da
‫IA.
‫Parece estar procurando algo a ver com as tarefas do jogo e isso é um módulo na verdade.
‫Então, se formos para o código do Visual Studio e apenas abrirmos o navegador de arquivos, ele rolará
‫até meu projeto.
‫Então, sob o atirador simples de origem, deve haver uma construção de ponto de atirador simples, ponto C.
‫Então, qualquer que seja o nome do seu projeto, é Dot Builders.
‫Sim.
‫E aqui, se eu nos der um pouco mais de espaço, você pode ver que temos essas dependências públicas, nomes
‫de módulos.
‫E o nome do módulo aqui que queremos adicionar a esta lista será o jogo.
‫Tarefas com um S e se formos em frente e adicionarmos isso e voltarmos e compilarmos agora, esperamos que tudo
‫seja compilado com sucesso por qualquer motivo.
‫Isso não é adicionado automaticamente quando você substitui a tarefa de batida.
‫Agora, uma vez feito isso, vamos dar uma olhada no que foi criado aqui.
‫Devemos ter uma nova classe, que é nossa tarefa beta, clipe de sublinhado, valor de quadro-negro.
‫E está bem vazio no momento.
‫Agora, o que eu quero fazer é adicionar isso à nossa árvore de comportamento no momento, ele teria
‫um nome feio.
‫Então, queremos um bom nome legível por humanos para essa tarefa.
‫E a maneira como faremos isso é adicionando um construtor e definindo uma propriedade.
‫Então vamos criar um construtor público aqui.
‫O construtor sempre tem o mesmo nome da classe, então podemos copiar isso.
‫Ele não precisa levar nenhum argumento ponto-e-vírgula no final e então vamos criar a
‫implementação no C++.
‫E a implementação só precisa definir uma variável chamada nome do nó.
‫Portanto, se você definir o nome do nó e usar uma string, a string que definimos será o nome do nó.
‫Então vai ser um quadro-negro claro.
‫Valor apenas com os espaços na capitalização correta deve ser agradável e fácil.
‫Agora, uma coisa que eu esqueci de fazer na hora da gravação é cercar isso pela macro de texto.
‫Agora, você deve ir em frente e fazer isso no seu código, mas você verá que no meu código ele
‫vai persistir e ficar assim.
‫E devemos ser capazes de compilar isso agora.
‫Impressionante que compilou com sucesso.
‫Então eu desafio você a adicionar este novo nó.
‫Portanto, adicione-o ao final do comportamento da investigação e verifique se ele é concluído.
‫Basicamente, ele deve ser concluído automaticamente sem fazer nada, mas verifique se o nome está
‫correto.
‫Eles podem adicioná-lo e veremos como adicionar o comportamento na próxima aula.
‫Então pause o vídeo e experimente.
‫OK.
‫Bem vindo de volta.
‫Então vamos para Enemy II e adicionar no final do comportamento de investigação.
‫Vamos adicionar nosso valor de quadro-negro claro.
‫Você pode ver que tem o nome bonito lá.
‫E você também pode ver que, se for para o painel de detalhes, poderá selecionar uma tecla do quadro-negro.
‫Vamos selecionar o local de reprodução do sobrenome.
‫Mesmo que isso ainda não faça nada, você pode ver que temos essa funcionalidade porque
‫herdamos do Blackboard Base e vamos apenas verificar se ele é concluído automaticamente.
‫Ele deve fazer e, em seguida, deve seguir em frente.
‫Vamos passar para uma tarefa de pesos depois, para que possamos ver que simplesmente vai direto e
‫é concluída automaticamente.
‫Então, eu vou jogar, vou me esconder em uma esquina o máximo que puder, e depois vou dar uma
‫olhada na investigação que aconteceu e, na verdade, ele me viu.
‫Então vamos nos esconder de novo e nos esconder na esquina se eu puder.
‫Eu vou e depois vou para eles vão.
‫Passou direto pelo valor do quadro-negro claro, o que deve significar que foi bem-sucedido
‫porque sabemos que se fosse uma sequência e falhasse, deve ter parado e não ido para o peso.
‫Então está funcionando corretamente.
‫O valor do quadro-negro claro está apenas retornando o sucesso imediatamente e aguardando o próximo passo.
‫Vamos ver como podemos realmente adicionar a funcionalidade.
‫vou ver lá.