pessoas...cá estou eu desenvolvendo um jogo de batalha naval...ele está funcionando ok ...mas só falta um pequeno detalhe que não consigo resolver: gostaria que quando o jogador atingir uma coordenada repetidamente, que o jogo avisasse...
o jogo já não computa pontos de coordenadas repetidas...mas ao invés de dizer: ESTA PARTE DO NAVIO JÁ FOI ATINGIDA...ELE DIZ: ACERTOU!!!!
alguém tem alguma idéia??/] segue o codigo:
var matriz = [ [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], ]; // Um navio var partesNav1 = [ [0, 0], [0, 0], [0, 0] ]; var nav1Afundou = false; var posNav1Linha = Math.floor(Math.random() * 6); var posNav1Col = Math.floor(Math.random() * 6); var verticalOuHoriz = (Math.floor(Math.random() * 10) + 1); // numero aleatorio para posicao vert. ou horiz. do navio if (verticalOuHoriz % 2 == 0){ matriz[posNav1Linha][posNav1Col] = 1; partesNav1[0][0] = posNav1Linha; partesNav1[0][1] = posNav1Col; matriz[posNav1Linha][posNav1Col + 1] = 1; partesNav1[1][0] = posNav1Linha; partesNav1[1][1] = posNav1Col + 1; matriz[posNav1Linha][posNav1Col + 2] = 1; partesNav1[2][0] = posNav1Linha; partesNav1[2][1] = posNav1Col + 2; } else { matriz[posNav1Linha][posNav1Col] = 1; partesNav1[0][0] = posNav1Linha; partesNav1[0][1] = posNav1Col; matriz[posNav1Linha + 1][posNav1Col] = 1; partesNav1[1][0] = posNav1Linha + 1; partesNav1[1][1] = posNav1Col; matriz[posNav1Linha + 2][posNav1Col] = 1; partesNav1[2][0] = posNav1Linha + 2; partesNav1[2][1] = posNav1Col; } // Mostra matriz para referencia de teste for (var linha = 0; linha <= 6; linha++){ for (var coluna = 0; coluna <= 6; coluna++){ document.write (matriz[linha][coluna]); } document.write ("<br>"); } // jogadas var numJogadas = 0; var pontos = 0; var numAcertos = 0; while (numJogadas < 5 && (!nav1Afundou)) { var jogadaL = prompt ("digite um número"); var jogadaC = prompt ("digite um numero"); if (matriz[jogadaL][jogadaC] == 1){ for (var c = 0; c < 2; c++){ for (var l = 0; l < 3; l++){ if (jogadaL == partesNav1[l][c] && jogadaC == partesNav1[l][c + 1]){ partesNav1[l][c] = 9; partesNav1[l][c + 1] = 9; numAcertos++; pontos++; } } } alert ("ACERTOU!!!"); } else { alert ("TENTE DE NOVO!!"); } numJogadas++; // ganhou ou perdeu? if (numAcertos == 3) { nav1Afundou = true; } } // FECHA WHILE if (nav1Afundou) { alert ("CARA FALA SERIO, WE ARE THE CHAMPIONS PONTOS: " + pontos); } else { alert ("TENTE NOVAMENTE!!! PONTOS: " + pontos); }