olá pessoal estou com problema de incorporar o metodo random na minha batalha naval!! como posso colocar.
o meu professor disse q eu teria que apagar tudo e fazer denovo,mas acho muito trabalho.por isso gostaria de saber se tem como colocar sem precisar apagar tudo!!
obrigado pela atenção!! :roll:
package batalhanaval;
[code]import java.io.*;
public class Main{
public static String tabuleiro[][]= new String[8][8];//cria um tabuleiro 8x8//
public static int posicao[][] = new int[8][8];//posicoes dos barcos no tabuleiro//
public static void zeraPosicao(){
// do {
for(int l=0;l<8;l++){//preenche as linhas com 0//
for(int c=0;c<8;c++){//preenche as colunas com 0//
posicao[l][c] = 0;
}
}
}
//funcao que determina a Posicao dos submarinos no tabuleiro//
public static void posicaoDosSubmarinos(){
//SUBMARINO 1//
posicao[1][2] = 1;
//SUBMARINO 2//
posicao [1][0] = 1;
//SUBMARINO 3//
posicao [6][7] = 1;
//SUBMARINO 4//
posicao [4][6] = 1;
//SUBMARINO 5//
posicao [3][1] = 1;
}
//funcao que define a Posicao dos distroyers no tabuleiro//
public static void posicaoDosDistroyers(){
//DISTROYER 1//
posicao [0][6] = 3;
posicao [0][7] = 3;
//DISTROYER 2//
posicao [3][6] = 3;
posicao [3][7] = 3;
//DISTROYER 3//
posicao [5][0] = 3;
posicao [5][1] = 3;
//DISTROYER 4//
posicao [4][2] = 3;
posicao [4][3] = 3;
}
//funcao que define a Posicao dos cruzadores no tabuleiro//
public static void posicaoDosCruzadores(){
//CRUZADOR 1//
posicao [5][3] = 5;
posicao [5][4] = 5;
posicao [5][5] = 5;
//CRUZADOR 2//
posicao[1][5] = 5;
posicao[1][6] = 5;
posicao[1][7] = 5;
//CRUZADOR 3//
posicao [2][4] = 5;
posicao [2][5] = 5;
posicao [2][6] = 5;
}
//funcao que define a Posicao dos navios no tabuleiro//
public static void posicaoDosNavios(){
//NAVIO 1//
posicao[0][0] = 7;
posicao[0][1] = 7;
posicao[0][2] = 7;
posicao[0][3] = 7;
//NAVIO 2//
posicao[6][2] = 7;
posicao[6][3] = 7;
posicao[6][4] = 7;
posicao[6][5] = 7;
}
//funcao que define a Posicao do Porta Aviao no tabuleiro//
public static void posicaoDoPortaAviao(){
//PORTA AVIAO//
posicao[7][3] = 9;
posicao[7][4] = 9;
posicao[7][5] = 9;
posicao[7][6] = 9;
posicao[7][7] = 9;
}
/*
public static void imprimeMatrizdePosicao(){
String saida="";
for(int l=0;l<8;l++){//preenche as linhas com elementos de 0 a 7//
System.out.println("\n");
for(int c=0;c<8;c++){//preenche as colunas com elementos de 0 a 7//
System.out.println(posicao[l][c]);
}
}
}*/
public static int lerLinha(){
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
int Linha=0;
try {
System.out.println("Informe a linha ");
Linha=Integer.parseInt(entrada.readLine());
if(Linha >=0 && Linha <=7){
return(Linha);
}else{
System.out.println("Linha invalida!!!");
return(lerLinha());
}
} catch(Exception e){
System.out.println("Linha invalida!!!");
return(lerLinha());
}
}
public static int lerColuna(){
BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
int Coluna=0;
//int acert=14;
try {
System.out.println("Informe a coluna ");
Coluna=Integer.parseInt(entrada.readLine());
if(Coluna >=0 && Coluna <=7){
return(Coluna);
}else{
System.out.println("Coluna invalida!!!");
return(lerColuna());
}
} catch(Exception e){
System.out.println("Coluna invalida!!!");
return(lerColuna());
}
}
public static void inicilizaMatriz(){
for(int l=0;l<8;l++){//preenche as linhas com elementos de 0 a 7//
for(int c=0;c<8;c++){//preenche as colunas com elementos de 0 a 7//
tabuleiro[l][c]=" ";
}
}
}
public static void imprimeTabuleiro(){
System.out.println(" 0 1 2 3 4 5 6 7"); //numero da coluna
System.out.println(" _________________________________");
for(int l=0;l<8;l++){//preenche as linhas com elementos de 0 a 7//
System.out.print(l + " "); //numero da linhas do lado do tabuleiro
for(int c=0;c<8;c++){//preenche as colunas com elementos de 0 a 7//
System.out.print("| "+ tabuleiro[l][c]+" ");
}
System.out.println("|");
System.out.println(" _________________________________");
}
}
public static void verificaPosicao(int col,int lin){
int escolha = posicao[lin][col];
System.out.println(escolha);
if( tabuleiro[lin][col] == " "){//se vc ainda n escolheu essa posicao
switch(escolha){
case 0:
System.out.println("voce atirou na agua, tente novamente");
tabuleiro[lin][col] = "X";
break;
case 1:
System.out.println("voce acertou um submarino");
tabuleiro[lin][col] = "1";
break;
case 3:
System.out.println("voce acertou um distroyer");
tabuleiro[lin][col] = "3";
break;
case 5:
System.out.println("voce acertou um cruzador");
tabuleiro[lin][col] = "5";
break;
case 7:
System.out.println("voce acertou um navio");
tabuleiro[lin][col] = "7";
break;
case 9:
System.out.println("voce acertou um porta-avioes");
tabuleiro[lin][col] = "90";
break;
}
}
}
public static void main(String[] args) {
int linha,coluna;
//BufferedReader entrada;
//entrada = new BufferedReader(new InputStreamReader(System.in));
//METODOS QUE INICIALIZAM OS BARCOS//
zeraPosicao();
posicaoDosSubmarinos();
posicaoDosDistroyers();
posicaoDosCruzadores();
posicaoDosNavios();
posicaoDoPortaAviao();
//METODOS QUE INICIALIZA AS MATRIZES//
//imprimeMatrizdePosicao();
inicilizaMatriz();
imprimeTabuleiro();
//METODOS QUE PEGAM A LINHA E COLUNA//
do {
linha = lerLinha();
if (linha == 0) {
System.exit(0);
}
coluna = lerColuna();
verificaPosicao(coluna,linha);
imprimeTabuleiro();
} while (true);
//System.out.println(linha + " " + coluna);
}
// }while (lerLinha == );
}[/code]