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);
}
Pergunta
ramiroramiro10
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:
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.