Bem-vindo de volta à segunda parte desta seção sobre o Star Pathfinding.
Então o que vamos fazer agora é realmente criar um labirinto e depois construir no algoritmo de busca
de caminhos usando uma estrela.
Você vai precisar iniciar um arquivo que vem com esta palestra.
Agora nele, você vai encontrar uma cena chamada A Star Path, e há alguns roteiros que já estão
lá dentro que vão construir um labirinto para você a partir do meu curso de construção de labirintos.
Se você estiver interessado, o link está aqui na tela para você.
Agora, você realmente não precisa saber muito sobre os antecedentes do que está acontecendo dentro da classe
do labirinto, embora você possa dar uma olhada ao redor, porque basicamente vamos estar testando se uma posição
é igual a outra um pouco abaixo da pista.
Portanto, neste ponto, se apenas pressionarmos o play, você verá que o código gera um simples labirinto como este, pelo
qual vamos navegar agora.
É um labirinto aleatório que utiliza um algoritmo recursivo.
Assim, cada vez que você pressionar o jogo, você terá um mapa diferente para trabalhar.
Ok, então vamos começar.
Queremos criar um novo arquivo C-sharp e vamos chamá-lo de Find Path uma estrela.
Muito bem, vamos abrir isso.
Agora, no topo, vamos realmente usar a biblioteca de links para fazer alguma triagem.
Portanto, inclua apenas o link de pontos do sistema.
E depois vamos criar uma nova classe.
E esta classe estará basicamente mantendo um registro de todas as posições do mapa.
Assim, todos esses nós, os vizinhos com os pequenos marcadores que vamos colocar neles, vamos colocá-los
em uma nova classe.
Porque essencialmente, acho que quando você faz isso, quando você está construindo seu ambiente de jogo, você
não vai ter marcadores e tudo isso aparecendo.
Você só vai dirigi-lo e ele vai criar seu caminho.
Mas queremos passar por isso para que possamos ter uma compreensão realmente boa do que está acontecendo.
Portanto, vamos tornar este marcador de caminho de classe realmente público e ele terá algumas coisas aqui.
Portanto, em primeiro lugar, terá uma localização de mapa público, que será sua localização
no labirinto, e depois um carro alegórico público para G e um público.
Flutuar para H e você adivinhou que era um flutuador público para F.
Logo em seguida, teremos também um objeto de jogo público, que será o próprio marcador físico.
Assim, aquelas caixas coloridas que eu fiz e depois teremos um marcador de caminho público para os pais.
Muito bem, vamos em frente agora e façamos um construtor.
Portanto, marcador de caminho público e vamos passar pelo local do mapa l.
Flutuador para G.
Flutuador para H.
Flutuador para o jogo F.
Objeto para o marcador.
Que são aqueles prismas retangulares que eu tenho traçando o caminho à medida que ele se desenrola.
E também, vamos ter um marcador de caminho para o PE passar pelo pai.
Então, dentro daqui, nós apenas atribuímos esses valores.
Portanto, a localização é igual a l, g é igual a g, h é igual a h.
F é igual a F.
Este marcador de pontos é igual a um marcador.
E finalmente, vamos ser pais iguais a P.
Agora mesmo.
Também teremos que comparar se um marcador de caminho é o mesmo que outro marcador de caminho e,
portanto, vamos precisar criar uma substituição para o método de igual para igual.
Portanto, estou apenas colocando o fim da minha aula lá dentro, e aqui teremos o controle público igual a um bool.
E, claro, não vamos usar o que ele nos fornece, mas vou deixar isto como um desafio
para você preencher o que vai dentro deste método igual a uma pista.
Dê uma olhada dentro da classe Labirinto porque também tem um método de sobreposição igual e você quer praticamente o mesmo
código que aquele que tem.
Pausa um vídeo agora.
Quando voltarmos, passarei o código para você.
Certo.
Como foi com isso?
Se formos para o código do labirinto e dermos uma olhada naquele que está aqui para a localização de nosso mapa,
é bastante simples.
Certo, então é um teste.
Se os objetos estiverem vazios ou não forem o mesmo objeto, e então é só verificar o X e o Z para a localização
de nosso mapa.
Agora eu vou apenas enganar e pegar este código e também isso vai pegar haxixe porque você vai ter o mesmo problema
de volta na Estrela A.
Vamos pegar isso e vamos colocá-lo aqui e depois podemos ir editando-o.
Agora, como dizer que o marcador de caminho é o mesmo que outro marcador de caminho?
Bem, vai ser no mesmo local e já temos os iguais escritos para a localização do mapa.
Portanto, aqui em baixo, em vez de verificar o X e o Z, embora você pudesse verificar os X ou Z individuais,
você pode simplesmente ir para a localização, que é igual à sua localização no mapa.
Marcador de caminho para o objeto.
Localização de pontos como esse.
Portanto, isto é chamar os iguais que estão na classe de localização do mapa.
Certo.
E com nosso código de haxixe, estamos acabados.
Agora podemos começar a criar nosso caminho de busca.
Asta E sabe de uma coisa, vou deixar isso para o próximo vídeo para que possamos montá-lo e depois
experimentá-lo.