Bem-vindo de volta, meus colegas desenvolvedores de jogos.
Neste vídeo, estamos tornando o jogo muito mais legal.
Então, finalmente, esse vídeo faz com que tudo pareça incrível.
Então, começamos o jogo.
Começamos a correr por aí,
oh não, há uma porta.
Está fechado.
Oh, não. Vamos para a porta ao lado.
Oh, não, está perto.
Há três inimigos aqui.
Oh, eles tentaram atirar enquanto tentam seguir como não,
nós matamos o primeiro.
Talvez ele pegue muito disso é o segundo. Quantos são necessários?
Um atingiu suas mortes e seu prazer, sangue.
Chamamos isso. Tentamos matar o último.
Estamos atirando nele enquanto ele atira de volta.
Não, ele não é. Espere, mas Tim shu Ok, não está atirando.
Então, devemos ter, há coisas voando em nossa direção.
Devemos perto dele e ele morre.
Incrível.
Então lá vai você. As portas estão abertas.
Passamos e agora podemos ir para o próximo nível ou poderíamos
usar a outra porta porque ela também se abre quando matamos todos os nossos inimigos.
Então, não vamos perder mais tempo.
Vamos consertar essa coisa aqui,
vendo as coisas azuis ao nosso redor,
e vamos começar.
Oh, caso.
Então agora é hora de abrir as portas sempre que os inimigos forem mortos,
vamos para os inimigos aqui ou na sala.
Na verdade, execute o jogo.
E vou tentar matar alguns inimigos que se abriram.
Lá vai você.
Vamos atirar no inimigo aqui.
Três balas devem ser suficientes, e ele está morto.
E você pode ver aqui que ele agora está desaparecido.
Muito bom. Ele está desaparecido.
O segundo está faltando.
O terceiro também está faltando,
então não temos mais inimigos.
A porta deve abrir.
O único problema é que ainda temos esses elementos aqui.
Mas, felizmente, quando estamos trabalhando com listas,
podemos realmente remover o item com muita facilidade.
Então, a maneira como fazemos isso,
à medida que entramos em nossa atualização aqui na atualização do gerenciador de salas.
E vamos criar outro loop.
E desta vez esse loop será um loop for.
Então, o que é um loop for?
Deixe-me explicar.
Então, o que é um loop for?
Loops podem executar um bloco de número de código.
Tempos. Loops são úteis se você quiser executar
o mesmo código repetidas vezes cada vez com um valor diferente.
Agora, estou me aprofundando um pouco mais em loops do que fizemos com o para cada um,
mas não se preocupe com loops são semelhantes aos loops para cada.
Mas desta vez, em vez de usar os itens,
usamos os índices e o lado da lista ou da matriz.
Então você pode ver que isso continua a executar
código dentro até que eu atinja um certo limite.
O que isso significa?
Vamos analisar essa sintaxe aqui e entendê-la melhor.
Começamos escrevendo para, isso é bom.
Instanciamos uma variável que é um número inteiro,
provavelmente que é um I igual a 0.
Depois, adicionamos esse ponto e vírgula.
Então, dizemos qual é o limite para o qual o eu continuarei trabalhando.
E então paramos e cada vez adicionamos um aos olhos.
Então você pode ver aqui, isso mais,
mais significa que sou eu mais um.
Então começamos em 0,
digamos que o limite certo seja três.
Continuaremos percorrendo até que eu não seja mais inferior a três.
Então começamos em 0,
fazemos algumas coisas, executamos o código I plus, mais.
Isso significa que eu me tornei um.
Ainda é menos de três.
Ótimo, continuamos.
Temos eu mais dois,
já que ainda é menos de três.
É, continuamos.
Eu é igual a três é ainda menor que três.
Não, não é porque precisamos ser menores que 3 ou menos do que o limite certo.
E vamos usar isso para ver que vamos contar com todos os inimigos.
E quando estivermos no último inimigo,
vamos seguir em frente e parar o loop.
E em cada nível vamos verificar se esse inimigo é um objeto de jogo vazio,
então vamos remover o item inteiro da lista.
Então, vamos começar.
Isso será um pouco complicado,
mas fique comigo.
Então, vou seguir em frente e criar um loop for.
E em vez de ir do primeiro elemento para o último elemento,
vou começar pela parte de trás.
Então, eu vou ter um int Eu iguala a contagem de pontos de inimigos menos 1.
Primeiro de tudo, qual é a contagem?
Contagem de pontos de inimigos é o número de itens que temos na lista.
E nosso caso, estes serão os três esqueletos.
Por que estou adicionando menos um?
Como as listas funcionam exatamente como os arrays fazem onde começamos,
a contagem do indexado a partir de 0.
O último elemento dos três esqueletos será dois.
Temos os zeros esqueleto,
esqueleto um esqueleto também.
Então, a contagem é igual a três porque temos três esqueletos.
Portanto, o primeiro elemento deve ser a contagem menos um.
Espero que isso seja entendido.
Agora, porque estamos começando pela parte de trás,
qual é o nosso objetivo?
Continuaremos percorrendo.
Enquanto eu for maior que menos um.
Por que isso é minus1?
Bem, porque quando chegamos a 0,
ainda queremos percorrer a lista.
E um temos dois menos um porque deixe-me terminar isso.
Lá vai você.
Porque estamos indo.
Menos menos.
Então, assim como Plus,
Plus adiciona um,
menos, menos remove um.
Então, novamente, o que está acontecendo?
Estamos começando da parte de trás da lista.
Estamos nos certificando de que sempre somos maiores do que menos um,
o que significa que não queremos ter 0 como o último elemento pelo qual passamos.
E, finalmente, estamos adicionando eu menos menos.
Então, vamos continuar um.
O que vamos fazer aqui?
Bem, vamos verificar se os inimigos ou o
inimigo na posição I é igual a nulo.
Tão nulo significa que ele está desaparecido.
Vimos anteriormente em um vídeo anterior quando matamos os esqueletos,
o elemento lá ficou faltando.
Isso significa que não é.
Então, se o inimigo ou o colisor 2D estiver faltando neste inimigo,
do que o que vamos fazer é acessar os inimigos.
Remova o ponto em, e vamos removê-lo na posição I.
Então, novamente, vamos olhar para ele mais uma vez e entender o que está acontecendo.
Estamos começando na parte de trás da linha porque queremos remover as coisas de baixo para,
até chegarmos ao primeiro.
Então, estamos começando pela parte de trás.
Estamos usando count menos um porque count é o número de elementos,
mas os elementos internos são indexados de 0.
Então, começamos em 0, 1, 2,
mas a contagem é três,
então removemos uma.
Continuamos removendo um usando IA menos menos até que não sejamos
mais maiores do que menos um y. Quero dizer,
quando somos menos que menos um, por quê?
Porque o último será 0, então menos 1,
quando nos tornarmos menos 1,
isso significa que terminamos e não queremos mais continuar com o loop.
E cada vez que descobrirmos que os inimigos estão faltando ou são nulos,
vamos removê-los da lista.
Ótimo, vamos salvar isso.
Vamos voltar ao nosso jogo e vamos ir em frente e imprimir aqui os inimigos.
Certo, então enemies.gov.
E vamos ver o que acontece.
Então, de volta ao nosso jogo,
vou conseguir o ganho.
Eu tenho a lista de inimigos,
vou atirar no primeiro 1,
segundo 1 e o terceiro.
Então, vamos esperar que os livros apareçam.
Lá vai você. Você pode ver um pop-up. Oh, tudo bem.
Então agora você pode ver que a lista está vazia.
Há algo que esqueci de dizer.
Assim, podemos ver que temos isso e não olhamos para o Conselho, mesmo que possa aparecer.
Então, o número de inimigos a três, quando eu atiro neles,
um deles morre,
o último elemento é removido.
É por isso que estamos indo de baixo para cima.
Portanto, o número de inimigos é de 0.
Então as balas que funcionam para isso continuaram. Também.
Este, lá vai você,
O número de elementos ou o número de inimigos é 0.
Ótimo. Então agora sabemos que somos capazes de matar os inimigos.
Podemos removê-los da lista.
Por fim, queremos abrir a porta sempre que o número de inimigos 0,
e isso fará parte do seu desafio.
Seu desafio é abrir as portas depois que os inimigos morrem.
Portanto, verifique se a lista de inimigos está vazia.
Isso vai ser, eu não sei,
vou deixar para você.
Então você precisará passar por todas as portas e as portas para fechar.
E você precisará ativar todas as portas.
E vou te dar uma pequena dica.
Você precisa verificar o tamanho da lista.
Você pode usar a contagem de pontos.
Bem, já fizemos isso.
Se você quiser. Você pode usar um loop for cada para passar pelas portas ou você pode
tentar usar o loop for que acabamos de aprender e para obter o comprimento da matriz,
este é um bom exercício em loops.
Temos muitos loops. Isso é bom.
Então, pause o vídeo agora mesmo e vá fazer o desafio.
Certo, bem-vindo de volta.
Então, vou manter o depurador aqui.
E o que vamos fazer,
vamos verificar se a contagem de pontos dos inimigos é igual a 0.
Então, vamos usar o loop for.
Vou criar um int I igual a 0.
Então, estamos a partir do 0.
Vamos continuar em loop enquanto eu for menor do que as portas para abrir ou lamentar,
portas para fechar o comprimento do ponto.
Quando queremos acessar o comprimento de uma matriz,
usamos o comprimento de ponto quando queremos acessar o comprimento da lista, usamos contagem de pontos.
Então lá vai você. Agora você tem dois exemplos.
Você pode até adicionar um comentário aqui para se certificar de que você se lembra.
E em cada etapa vamos adicionar um.
Então agora porta para fechar ou, na verdade, porta para fechar. Sim.
E vou acessá-lo usando o I porque estou aumentando a cada vez.
Então, digamos que já temos duas portas.
Portanto, temos o índice 0 e o índice um. Começamos em 0.
Temos a porta para fechar em 0.
Definimos ativo como falso.
Lá vamos nós.
Não teremos mais a porta.
Verificamos se o I,
que atualmente é 0, é menor que o comprimento do ponto das portas, que é 2.
Então, sim, 0 é menor que 2.
Eu mais, mais, ou realmente fazemos isso e depois eu mais, mais.
Voltamos aqui, eu estou, ok,
então não voltamos mais aqui. Agora, um é um a menos que dois?
Sim, é.
Temos r igual a 0 ponto-ponto ativo, desculpe,
eu é igual a 1.
Nós nos configuramos ativos. Lá vamos nós.
É falso.
Finalmente, eu me tornei dois.
Dois são menos que dois?
Não, não é.
Saia do loop.
Nós salvamos tudo isso.
Voltamos ao nosso jogo.
Nós executamos o ganho,
temos o console aqui,
então o número de inimigos,
F3, você pode vê-los.
Devemos 12, ok,
os inimigos em que atiramos nele.
Segundo, quantas balas levam?
Um? É preciso apenas um. Bom.
Vamos ver por que ele está?
Porque me lembro que adicionamos a vida dele aos três anos.
Lá vai você.
O inimigo morreu.
Você pode ver que em 0 as portas se abrem e podemos caminhar.
Quão legal é isso?
Então, finalmente, tudo parece estar funcionando, ok.
Existem alguns bugs.
Um deles é que o sangue não está desaparecendo por causa das animações.
Ainda não adicionamos a chave no final.
O esqueleto aqui.
Quão grande é a vida dele?
A casa dos inimigos é três,
então parece haver um problema.
Ele está morrendo imediatamente. Por quê?
Porque se entrarmos no controlador de bala da camada,
a quantidade de dano é de 100 k.
Portanto, a quantidade de dano é padronizada.
A vida dos inimigos é 3.
Acho que esse é o problema.
Então deixe-me fazer a metade desse cara.
Então eu só quero ter certeza de que não estamos
tendo algo errado, salvo que execute o jogo.
Porque às vezes podemos chamar um método muitas vezes, então estamos dando muito dano.
Então, se eu verificar, ok, então lá vai você.
Ele precisa de várias balas.
123 e lá vai você.
Certo, então tudo está funcionando bem.
As portas estão se abrindo sempre que estamos matando todos os inimigos,
tudo parece estar funcionando.
Aprendemos muito sobre loops nesta seção,
aprendemos muitas informações.
Espero que você esteja gostando.
Espero que você esteja se divertindo.
Espero que você esteja aprendendo muito.
Espero que você esteja fazendo sua pesquisa.
Espero que você esteja sempre cometendo suas mudanças.
Espero que seus cérebros de desenvolvedores de jogos estejam ficando mais fortes a cada vídeo.
Espero que você não esteja muito frustrado,
e espero que esteja muito feliz.
Então, vejo você na próxima seção.
Não se esqueça de adicionar um comentário.