Ho iniziato a fare un progetto dove ci sono le capre! Sì capre. Attualmente c'è una sola funzione, quando faccio clic su una capra, crea un'altra capra in una posizione casuale a. mi sono reso conto che c'è un modello di posizioni:C'è qualche schema sul metodo Random()?
Qui è il codice:
public class GameActivity extends Activity {
private int[] arrGoats = new int[5];
private RelativeLayout battlefield;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game);
battlefield = (RelativeLayout) findViewById(R.id.rel_battlefield);
arrGoats[0] = R.drawable.amarelo;
arrGoats[1] = R.drawable.azul;
arrGoats[2] = R.drawable.branco;
arrGoats[3] = R.drawable.verde;
arrGoats[4] = R.drawable.vermelho;
criarCabra(60, 100);
}
private void criarCabra(float x, float y) {
int cabraImg = arrGoats[new Random().nextInt(4)];
ImageView cabra = new ImageView(this);
cabra.setImageResource(cabraImg);
cabra.setX(x);
cabra.setY(y);
LayoutParams params = (LayoutParams) new LayoutParams(MarginLayoutParams.WRAP_CONTENT,
MarginLayoutParams.WRAP_CONTENT);
params.width = 150;
params.height = 120;
cabra.setLayoutParams(params);
cabra.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
criarCabra(new Random().nextInt(2000), new Random().nextInt(1000));
}
});
battlefield.addView(cabra);
}
}
Vorrei sapere perché si sta creando questo schema, anche se sto usando Random().NextInt()
a definire le posizioni delle capre.
Sono pazzo?
cosa intendi per motivo? – Blackbelt
@blackbelt Guardare l'immagine, la posizione delle capre è un modello diagonale. – Rafael
Provare a utilizzare una singola istanza a caso tutto il programma invece di creare una nuova istanza ogni volta che avete bisogno di un numero. – Karakuri