27-01-2009, 11:13 AM
Effectivement je me suis trompé, j'ai mis le rand avant la boucle -_-' j'ai éditer. Merci
Sinon, pour te répondre "pourquoi je conserve la valeur que je supprime du tableau?" C'est tout simplement que c'est le but même de l'algorithme^^
De tirer 20 nombres aux hasards, mais faut-il encore que je puisse les conserver non?
Quand a la deuxième boucle elle sert au décalage du tableau:
On prend un l'élément se trouvant a l'indice i+1 et le place a l'indice i (qui est le chiffre tiré, donc on peut écrire par dessus, puisqu'on veux l'effacer), je décale ainsi tout mon tableau d'un rang a gauche et je supprime la dernière case qui est alors devenu un doublon.
On a, au départ:
--------------
|1|2|3|4|5|6|
--------------
le rand sort : 3
alors je décale:
--------------
|1|2|4|4|5|6|
--------------
Puis encore:
--------------
|1|2|4|5|5|6|
--------------
Jusqu'au bout:
--------------
|1|2|4|5|6|6|
--------------
Et enfin je détruit la dernière case:
------------
|1|2|4|5|6|
------------
Moi se qui me dérange avec :
C'est que je ne connais pas l'algo de ces fonctions, donc difficiles de savoir si c'est plus optimiser, donc j'en reviens a dire qu'il faudra que je fasse une série de test.
Sinon, pour te répondre "pourquoi je conserve la valeur que je supprime du tableau?" C'est tout simplement que c'est le but même de l'algorithme^^
De tirer 20 nombres aux hasards, mais faut-il encore que je puisse les conserver non?
Quand a la deuxième boucle elle sert au décalage du tableau:
On prend un l'élément se trouvant a l'indice i+1 et le place a l'indice i (qui est le chiffre tiré, donc on peut écrire par dessus, puisqu'on veux l'effacer), je décale ainsi tout mon tableau d'un rang a gauche et je supprime la dernière case qui est alors devenu un doublon.
On a, au départ:
--------------
|1|2|3|4|5|6|
--------------
le rand sort : 3
alors je décale:
--------------
|1|2|4|4|5|6|
--------------
Puis encore:
--------------
|1|2|4|5|5|6|
--------------
Jusqu'au bout:
--------------
|1|2|4|5|6|6|
--------------
Et enfin je détruit la dernière case:
------------
|1|2|4|5|6|
------------
Moi se qui me dérange avec :
Citation :$NbDispo = range(1, 30); // tableau de toutes les valeurs possibles
$NbTires = array_rand($NbDispo, 20); //On tire 20 nombres aléatoirement
C'est que je ne connais pas l'algo de ces fonctions, donc difficiles de savoir si c'est plus optimiser, donc j'en reviens a dire qu'il faudra que je fasse une série de test.
Dévotion, jeu multijoueur gratuit par navigateur de stratégie et de conquête
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)
The Magic Institute, le jeu de magie médieval fantastique gratuit en ligne
Rapture Studio : créateur de divertissement pour tous
JePolitique.fr - débattons ensemble
JécrisLaConstitution.fr - ne laissons pas les Hommes aux pouvoirs écrire les règles du pouvoir
Je Deviens Citoyen (Association à but non lucratif)