bonjours, j'ai encore amélioré ma créations de galaxie mais j'ai un problème que je n'arrive pas à résoudre...
j'ai 49 cases dans ma galaxie et je positionne aléatoirement 15 planètes dans la galaxie. mais parfois je me retrouve avec 2 planètes sur 1 case...
je crée les planètes avec un do while et je pense qu'a chaque entrée dans la boucle il faut recupérer la valeur précédament entrée dans la bdd pour voir si c'est la meme. mais ca me parrais hyperlourd... et en plus là ca marche pas ^^
je vous poste le script pour voir vos avis:
j'ai 49 cases dans ma galaxie et je positionne aléatoirement 15 planètes dans la galaxie. mais parfois je me retrouve avec 2 planètes sur 1 case...
je crée les planètes avec un do while et je pense qu'a chaque entrée dans la boucle il faut recupérer la valeur précédament entrée dans la bdd pour voir si c'est la meme. mais ca me parrais hyperlourd... et en plus là ca marche pas ^^
je vous poste le script pour voir vos avis:
Code PHP :
<?php
if (isset($_POST['generer']))
{
$pos=array(0,1,2,6,7,8,10,12,14,16,18,20,24,26,30,32,34,36,38,40,42,43,44,48,49);
$nbplanete=1;
do {
$requete = mysql_query("SELECT * FROM galaxie") or die(mysql_error());
$var = mysql_fetch_array ($requete);
$position_exist= $var['position'];
$galaxie=1;
$systeme=1;
$position=mt_rand(1,49);
if ($position != $position_exist)
{
if ($position == 11 or $position == 17 or $position == 19 or $position == 23 or $position == 27 or $position == 31 or $position == 33 or $position == 39)
{
$planete=mt_rand(1,10);
}
elseif($position == 3 or $position == 4 or $position == 5 or $position == 9 or $position == 13 or $position == 15 or $position == 21 or $position == 22 or $position == 28 or $position == 29 or $position == 35 or $position == 37 or $position == 41 or $position == 45 or $position == 46 or $position == 47)
{
$planete=mt_rand(11,20);
}
if ( array_search($position, $pos) != true )//si on le trouve pas dans le tableau
{
mysql_query("INSERT INTO galaxie VALUES(' ','".$galaxie."','".$systeme."','".$position."','".$planete."')");
$nbplanete++;
}
}
} while ($nbplanete<=15);