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.