Forum Clubic

Remplir un tableau en JAVA

Bonjour
je voudrais savoir comment remplir un tableau
avec un nombre de bombes(’*’) donner en argument
et en étant en positions aléatoires

dans une procedure de ce style:

private char[][] tableau = new char[9][9];
public void remplirBombes(int n_bombes) {
}
merci


public char[][] remplirBombes( int n_bombes ) {
 char[][] tableau = new char[9][9];
 int r, c,
 while( n_bombes != 0 ) {
  do {
   r = Maths.Rand( 0, 9 );
   c = Maths.Rand( 0, 9 );
  } while( tableau[r][c] == '*' );
  tableau[r][c] = '*';
  n_bombres--;
 }
 return tableau;
}

Pas sur que le rand marche comme ca, mais l’idée est la !
Edité le 09/11/2008 à 15:53

mais ça c’est une fonction
est-ce que c la mm chose que qd on a
le public void??
qui ne retourne rien
qui fait seulement l’action de remplir


private char[][] tableau;

// Faut l'initialisé quelque part

public void remplirBombes( int n_bombes ) {
 int r, c,
 while( n_bombes != 0 ) {
 do {
 r = Maths.Rand( 0, 9 );
 c = Maths.Rand( 0, 9 );
 } while( this.tableau[r][c] == '*' );
 this.tableau[r][c] = '*';
 n_bombres--;
 }
}

Edité le 09/11/2008 à 16:35

le rans et-ce la mm chose que le random?
estce je pourrait utiliser le random comme ceci:

Random gerator = new Random();

int x = gerator.nextInt(n);

Oui c’est possible, j’ai du que j’étais pas sur pour le rand. J’ai pas testé ce que je t’ai mis
Edité le 09/11/2008 à 20:06

Ca ressemble à un pseudo démineur ça… Alors une petite question : pourquoi un nombre aléatoire de * ? Comment détermine tu l’emplacement des * ? Pourquoi pas une fonction “pour chaque case, y mettre au hasard une étoile” ?

Sinon, pourquoi une méthode (on est en Java, c’est des méthodes puisqu’elles font parti de classes) public ? Ca ressemble à une initialisation, ça devrait être une méthode privée controlée par le controleur de partie.