Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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). }Carregando comentários...