package batalhanaval;

import java.util.Scanner;
import java.util.Random;

public class BatalhaNaval {

    public static void limpatela() {
        System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
    }

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("Bem-vindo ao jogo");
        System.out.println("Digite o tamanho do jogo:");
        int tam = sc.nextInt();
        
        String[][] campo = new String[tam][tam];
        
        for(int i=0;i<campo.length;i++){
            for(int j=0;j<campo[i].length;j++){
                campo[i][j]="~";
            }
        }
        System.out.println("Quantos navios?");
        int pedacos = sc.nextInt();
        
        String resposta[][] = new String[tam][tam];
        
        for(int i=0;i<resposta.length;i++){
            for(int j=0;j<resposta[i].length;j++){
                resposta[i][j]="~";
            }
        }
        // Implantar peda├žos
        int t1;
        int t2;
        Random r = new Random();
        
        for(int i = 0;i<pedacos;i++){
            t1 = r.nextInt(tam-1);
            t2 = r.nextInt(tam-1);
            System.out.println("Sorteado submarino para: "+t1+" e "+t2);
            if(resposta[t1][t2] == "1") {
                i--;
            }
            else {
                resposta[t1][t2] = "1";
            }
        }
        
        
        int qtdjogadas = 0;
        int acertos = 0;
        
        int linha, coluna;

        boolean continuar = true;
        
        while (true) {
            System.out.println("Voce ja fez " + qtdjogadas + " jogadas");
            for (int i = 0; i < campo.length; i++) {
                for (int j = 0; j < campo[0].length; j++) {
                    System.out.print(campo[i][j]);
                }
                System.out.println("");
            }
            if (acertos == pedacos) {
                System.out.println("Você ganhou!");
                break;
            }
            System.out.println("Digite a linha");
            linha = sc.nextInt()-1;
            System.out.println("Digite a coluna");
            coluna = sc.nextInt()-1;
            qtdjogadas++;
            // verificar se acertou
            if ("1".equals(resposta[linha][coluna])) { //resposta[1][1]=="1"
                campo[linha][coluna] = "#";
                acertos++;
            } else {
                campo[linha][coluna] = ".";
            }

            limpatela();
        }

    }

}