Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

VM701:26 Uncaught TypeError: Cannot read property '0' of undefined

Olá, estou tentando testar quais possibilidades de vitória (vetorB) em um dado tabuleiro de jogo da velha (vetorA) serão verdadeiras ou inverdadeiras, porém, ao executar, o seguinte erro é exibido pelo console do navegador.

Uncaught TypeError: Cannot read property '0' of undefined at verificaVitoria (:26:24) at :18:28

Pesquisei bastante, mas não consegui solucionar o problema. Poderia me ajudar?

//EXEMPLO DE TABULEIRO
let vetorA = ["X","O","O",
              "X","O","X",
              "X","O",""];

//POSSIBILIDADES DE VITORIAS
let vetorB = [
            [0, 1, 2],
            [3, 4, 5],
            [6, 7, 8],
            [0, 3, 6],
            [1, 4, 7],
            [2, 5, 8],
            [0, 4, 8],
            [2, 4, 6]
          ];

let combinacoesDeVitoria = verificaVitoria(vetorA, vetorB);

console.log(combinacoesDeVitoria);

function verificaVitoria(vetorA, vetorB) {
  let controle = false;
  let combinacoes = []; //Vetor que guarda em quais possibilidades o jogador venceria.
  for (let j = 0; j < 9; j++) {
    if(vetorA[vetorB[j][0]] == "X" && vetorA[vetorB[j][1]] == "X" && vetorA[vetorB[j][2]] == "X") {
      controle = true;
    } 
    if (controle == true) {
        combinacoes.push("Verdadeira");
        controle = false;
    } else {
        combinacoes.push("Inverdadeira");
    }
  }
    return combinacoes;
}
1 resposta
solução!

O for vai ate 8 e no vetor B, não existe esse proximo array. Lembrando que começa no

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software