voila les donnees du problemes:
on a une page php avec un <input type=image src=map.php?x='abscisse'&y='ordonnee'>
Sur cette image il y a des murs, dont les coordonnees sont interdites, c-a-d qu'il est impossible de se deplacer sur un mur, ni même les dépasser, comme dans la vraie vie, on les contourne...
J'ai développé ce script (c'est mon image php) mais il y a des bugs:
Code : Tout sélectionner
//on attribut les nouvelles coordonnees du coin en haut a gauche de l'image
$nx = $req['x']+$x -100;
$ny = $req['y'] + $y -100;
//requete sql :
$sql2 = 'SELECT * FROM `objets` WHERE `id_image`="'.$map.'" AND `valeur`="interdit" ';
$retour2 = mysql_query($sql2);
//signes
/*
if ($nx - $req['x']>0)
{
$signe_x = '-1';
}
else
{
$signe_x = 1;
}
if ($ny - $req['y']>0)
{
$signe_y = '-1';
}
else
{
$signe_y = 1;
}
*/
while ($req2 = mysql_fetch_assoc($retour2))
{
$limites_inf = explode(";", $req2['h_g']);
$limites_sup = explode(";", $req2['b_d']);
if(($nx>$req['x']) && ($ny>$req['y']))
{
$dif_x = $nx-$req['x'];
$dif_y = $ny-$req['y'];
$cos = $dix_x/$$dif_y;
$compteur_x = 1;
$compteur_y = $cos;
while($compteur<$dif_x)
{
if (($req['x']+$compteur_x < $limites_sup[0]) && ($req['x']+$compteur_x > $limites_inf[0]) && ($req['y']+$compteur_y< $limites_sup[1]) && ($req['y']+$compteur_y > $limites_inf[1]))
{
$nx = $req['x']+$compteur_x;
$ny = $req['y']+$compteur_y;
break;
}
else
{
$compteur_x++;
$compteur_y = $compteur_y+$cos;
}
}
}
}