Erro codigo de jogo batalha naval simples [Resolvido]

2 respostas
magocebolinha

Olá pessoal

Bom… mais uma dúvida simples mas acho que estou com um erro de lógica aqui… estou tentando fazer um jogo de batalha naval, primeiro quis fazer uma versão bem básica, do tipo que é mostrado no Use a Cabeça! mas quis fazer meio diferente… o problema é que se eu testo os acertos, ele não termina na terceira tentativa! e nunca aparece “navio afundado” ou seja… o if mais aninhado não está sendo lido… sei lá por que…

import java.util.*;

class TesteBatalhaNaval {
	
	public static void main (String args[]){
	Scanner scn = new Scanner (System.in);
	int [] CEL = {1,2,3};
	int num, x = 0;
	
	System.out.println("Digite seu palpite");
	
	
	while (x <4) {
		
		num = scn.nextInt();
		if ((num == CEL[0]) || (num == CEL[1]) || (num == CEL[2])) {
			
			System.out.println("Você acertou!");
			int i = 0;
			i += 1;
			
			    if(i == 3){
				    System.out.println("Você afundou o navio!");
				    break;
			    }
			    
	     } else {
		    
		    System.out.println("Você errou.");  
	    }
	     x += 1;
     }
     System.out.println("JOGO TERMINADO!");
    }
}

o que acontece? :slight_smile:

2 Respostas

thiago.correa

Você está sempre reiniciando a variável i, ou seja, a cada iteração do laço ela vai ser 1

System.out.println("Você acertou!"); int i = 0; i += 1;

magocebolinha

thiago.correa:
Você está sempre reiniciando a variável i, ou seja, a cada iteração do laço ela vai ser 1

System.out.println("Você acertou!"); int i = 0; i += 1;

aaahhh eu sabia que tava viajando… vlw :slight_smile:

Criado 7 de abril de 2010
Ultima resposta 7 de abr. de 2010
Respostas 2
Participantes 2