Aula 17
Debugando Função de Checar por Vitória no Jogo da Velha
Summary
Resumo da Transcrição
O problema discutido é que a função que verifica a vitória não está funcionando corretamente devido ao uso de forEach
. Para resolver isso, a sugerida mudança é utilizar a função some
em vez de forEach
.
Pontos principais:
- Problema Identificado: A função que verifica a vitória retorna uma resposta incorreta ao usar
forEach
. - Solução Proposta: Substituir o
forEach
pela funçãosome
, que percorre uma lista e para assim que uma condição é satisfeita, retornandotrue
. - Exemplo de Funcionamento do
some
:- Percorre uma lista de letras e retorna
true
imediatamente quando encontra uma condição válida (como uma letra específica). - Se a letra "a" estiver na lista, o loop para e retorna
true
. - Se a letra não estiver na lista, após percorrer todos os elementos, retorna
false
.
- Percorre uma lista de letras e retorna
- Aplicação no Código: Usar
some
para checar se uma linha do tabuleiro está preenchida com o sufixo e retornartrue
se a condição for satisfeita.
Por fim, o apresentador menciona a criação de uma variável chamada venceu
, que inicialmente será definida como falso
.
Video Transcript
Então, o problema aqui que a gente está retornando não dá a função checa a vitória
mais do forEach.
Então isso é um problema.
Em vez de usar forEach eu quero usar outra coisa, chamado sum.
Vou te mostrar aqui no navegador como é que usa o sum.
Eu abriu a nova aba aqui do console.
Olha aqui.
Então se eu tiver, por exemplo, x, essa lista x e no, tá?
Eu vou usar o sum letra.
O sum é o seguinte, ele vai percorrer a lista e se sua condição que você retornar aqui
da expressão de retorno for verdadeira, ele vai parar o loop, tá bom?
E vai retornar true porque aquela condição foi satisfeita.
Satisfeita a condição.
Por exemplo, se eu quisesse procurar, nessa lista tem x, a e no.
Eu quero ver se tem alguma letra a dentro da lista.
Eu dizia letra igual a a, tá?
Então ele vai fazer o seguinte, começa com x.
Pega o x e põe em letra.
Letra x igual a a, não, retorna falso.
Então ele continua.
Próxima letra a, pega a e põe em letra.
Letra a igual a a, true, verdadeiro.
Então por isso que ele achou condição foi true, por isso que ele para o loop e diz
true na mesma hora porque ele achou a letra a.
Se fosse a, ele iria percorrer a lista toda e no final retornaria falso porque ele percorrer
todo o lista não achou a.
Então da mesma maneira a gente vai fazer isso aqui em vez de for it, você põe
samba porque o que ele vai fazer é o seguinte, vai percorrer essa lista aqui, vai começar
no primeiro, põe o sufixo acima.
Ele vai checar se o tabuleiro tivesse preenchido nessa linha, ele retorna true.
Se essa condição retorna true, do samba ele para na mesma hora de percorrer a lista
e retorna true desse cara aqui inteiro, tá bom?
inteiro.
Então esse cara vai retornar todo inteiro.
Tá?
Então eu vou usar um variável aqui.
Chamada.
Cadê?
Letra venceu.
Eu vou dizer falso.
Nenhum comentário ainda (loading...)
Nenhum comentário ainda (loading...)
Gostou da aula? 😆👍
Apoie nosso trabalho com uma doação: