batalhaNaval
Aluno: Martinho Trasel
package TRABALHO; import java.util.Random; import java.util.Scanner; public class batalhaNaval
{
private static int[][] tabuleiro; private static int[][] navios; private static int[] tiro; private static int tentativas; private static int dicas; private static int acertos; private static Random gerador; private static Scanner entrada; private private private private
static static static static final final final final int int int int EXPLOSAO = -2;
AGUA = -1;
SOMBRA = 0;
NAVIO = 1;
private private private private static static static static final final final final int int int int ESQUERDA = 0;
DIREITA = 1;
CIMA = 2;
BAIXO = 3;
public static void cria_variaveis()
{
tabuleiro = new int[8][8]; tiro = new int[2]; tentativas = 0; acertos = 0; dicas = 0; gerador = new Random(System.currentTimeMillis()); entrada = new Scanner( System.in );
}
public static void main( String[] args )
{
cria_variaveis(); iniciaNavios(); inicializaTabuleiro();
System.out.println();
do
{
mostraTabuleiro(); atirar(); alteraTabuleiro();
} while( acertos != 5 );
System.out.println( "\n\n\nJogo terminado. Você acertou os 5 navios em "
+ tentativas +
" tentativas" ); mostraTabuleiro(); } private static void inicializaTabuleiro()
{
preencheMatriz(tabuleiro, SOMBRA);
Página 1
batalhaNaval insereNavios(); } private static void insereNavios()
{
for(int i = 0; i < navios.length; ++i) insereNavio(navios[i]); } private static void insereNavio(int[] navio)
{
int quantidade = navio[0]; int tamanho = navio[1]; int pos_x; int pos_y; while(quantidade > 0)
{
pos_x = gerador.nextInt(tabuleiro[0].length); pos_y = gerador.nextInt(tabuleiro.length); if(checaEInsere(pos_x,pos_y,tamanho)) --quantidade;
}
} private static boolean checaEInsere(int pos_x, int pos_y, int tamanho)
{
// Tenta inserir para a direita if( verificaEMarca(pos_x,pos_y,tamanho,DIREITA) || verificaEMarca(pos_x,pos_y,tamanho,ESQUERDA) || verificaEMarca(pos_x,pos_y,tamanho,CIMA) ||