ArrayList de inimigos em posições aleatorias

2 respostas
Guilherme_Prado

Olá a todos,
estou desenvolvendo um jogo tipo Ikaruga - http://www.youtube.com/watch?v=LES0bAg0dBk5 e quero que cada inimigo tenha uma posição aleatória. A quantidade de inimigos é definida pela dificuldade que o usuário escolhe.
Entretanto, eu não sei como eu passo para cada inimigo essa posição aleatória.
Vejam:
Eu tenho meus Inimigos, a List e a quantidade que eu quero.

private List inimigos;

private static int quantidade;

Os instâncio no construtor. ( O quê eu não sei se estou fazendo certo).
quantidade = 3; // A quantidade aqui foi definida por mim  para fins de não deixar algo no post muito grande.

coordenadas = new int[quantidade][2]; //Acho que é assim pelo fato de serem 3 linhas (inimigos) com 2 colunas (posições x e y na tela - horizontal e vertical)

inicializaInimigos();

Aqui eu chamo da classe Inimigo cada um deles.
public void inicializaInimigos()
{
    inimigos = new ArrayList<>();
    for(int cont = 0; cont < coordenadas.length; cont ++)
    {
        inimigos.add(new Inimigo(coordenadas[cont][0], coordenadas[cont][1])); 
    }
}

Pois bem, como eu gero na minha matriz um número aleatório em cada posição x e y dos meus inimigos?
Algo do tipo:

Random random1, random2, random3, random4, random5, random6 = new Random(); // Sei que não é assim, mas é só para deixar o post mais curto.
matriz = {{random1, random2}, {random3, random4}{random5, random6}}; // A minha matriz com cada número aleatório(supondo que já foram gerados).
Grato.

2 Respostas

JulioCesarSF

Uma idea é usar o Random com a largura da tela do jogo e uma altura que você quer…:laughing:

peczenyj

Mano eu acho que vc ja abriu uns 3 ou 4 topicos sobre isso aqui, não?

Random r = new Random();
Loop na quantidade de inimigos:
   int x = r.getInt(valor maximo x); /* ou algo assim */
   int y = ...
   Cria inimigo ai
   Add numa lista

À lógica será mais ou menos essa.

Não sei pra que vc quer uma matriz.

Acho que matriz só te confunde nesse caoa em particular

Criado 21 de outubro de 2016
Ultima resposta 23 de out. de 2016
Respostas 2
Participantes 3