Olá pessoal! Acompanho há algum tempo o fórum, porém só agora criei a conta.
Meu problema é com Arrays.... principalmente as com mais de uma dimensão.
Estou querendo criar um game estilo batalha naval, sem a utilização de GUI. Comentei o código para que possam entender.
public class Run {
public static void main(String[] args) {
Celulas b = new Celulas();
b.criarCelulasAlvo();
}
}
import java.util.Random;
public class Celulas {
Jogador player = new Jogador(); //cria uma referencia ao objeto Jogador
public void criarCelulasAlvo(){
Random random = new Random(); //instancia a classe Random
int x = random.nextInt(10); // atribui a X um valor aleatório entre 0 e 9
int y = random.nextInt(10); // atribui a Y um valor aleatório entre 0 e 9
Celulas[][] celulasAlvo = new Celulas[10][10]; //aloca espaço para uma array de 10 linhas e 10 colunas
celulasAlvo[x][y] = new Celulas(); //instancia uma coluna com o X e Y que foram gerados com o Random
System.out.println(x + " " + y); //apenas imprime o X e Y gerados
player.palpitar(celulasAlvo[x][y]); //invoca o método palpitador, passando X e Y
}
}
import javax.swing.JOptionPane;
public class Jogador {
int numeroDeAcertos = 0; //guarda o numero de acertos
int numeroDePalpites = 1; //guarda o numero de palpites
String resultado = "Errou!"; //define uma string com resultado default
public void palpitar(Celulas[][] celulas){
while(numeroDeAcertos < 3) {
int palpiteX = Integer.parseInt(JOptionPane.showInputDialog("Digite o seu " + numeroDePalpites +" palpite X"));
int palpiteY = Integer.parseInt(JOptionPane.showInputDialog("Digite o seu " + numeroDePalpites +" palpite Y"));
for(int i = 0; i < celulas.length; i++) {
for(int j = 0; j < celulas[i].length; i++){
if(){//como fazer para comparar os palpites com o X e Y gerados na classe Celulas????
resultado = "Acertou!";
numeroDeAcertos++;
if(numeroDeAcertos == 3) {
resultado = "Ganhou!";
}
break;
}
}
}
System.out.println(resultado);
System.out.println("Palpites utilizados: " + numeroDePalpites);
numeroDePalpites++;
resultado = "errou";
}
}
}
Obrigado desde já!
