Sorteio de índices numa matriz

2 respostas
H
OLá pessoal, preciso fazer um joguinho de campo minado para um trabalho da facu, o que pretendo fazer(não sei se é possível) é  um método que sorteie alguns índices de uma matriz para inserir um número que vai representar a bomba. por exemplo, eu quero que o número '9' represente a bomba e quero que o jogo tenha 5 bombas numa matriz [4][4], portanto quero que algum método  (talvez o random) sorteie 5 índices para jogar as bombas nesses. Por favor se alguém puder me ajudar fico agradecido. Abraço.

2 Respostas

J

Não é campo minado, mas é batalha naval, com sorteio de posições, checagem se já atiraram lá etc:
http://javaprogressivo.blogspot.com/2012/09/jogo-batalha-naval-em-java.html

Gustavo_Marques

É só embaralhar uma lista e pegar os cinco primeiros elementos

Por exemplo:

List<Integer> indices = new ArrayList<Integer>();
indices.add(1);
indices.add(2);
indices.add(3);
indices.add(4);
indices.add(5);
indices.add(6);
indices.add(7);
indices.add(8);
indices.add(9);
indices.add(10);

//agora embaralhe
Collections.shuffle(indices); 

//primeiro numero sorteado
Integer primeiro = indices.get(0);

//segundo número sorteado
Integer segundo = indices.get(1);

//terceiro número sorteado
Integer terceiro = indices.get(2);

//e assim vai até o quinto

Grande abraço

Criado 13 de outubro de 2012
Ultima resposta 14 de out. de 2012
Respostas 2
Participantes 3