22-11-2009, 07:13 PM
(Modification du message : 22-11-2009, 07:14 PM par jo_link_noir.)
Salut,
Tu réaffectes une valeur à $decors et ça ne devrait pas être le cas. Au début c'est une ressource et ensuite une chaine de caractère donc la boucle ne ce fait plus car mysql_fetch_array attend une ressource. Au passage tu pourrais réduire l'enchainement de if en mettant tous dans un tableau, un peu comme ça :
Pour agrandir la carte suffi d'avoir les casses en bdd et récupéré que la partit qui intéresse. Par exemple si tu veux un carré de 11*11 cases, il faut mettre une condition dans la requête :
Par rapport au début
- Ne pas mettre @ mais utiliser isset pour vérifier l'existence de la variable
- Tu peux éliminer ereg pour directement utiliser explode
Bon bah Crimson à été plus rapide...
Tu réaffectes une valeur à $decors et ça ne devrait pas être le cas. Au début c'est une ressource et ensuite une chaine de caractère donc la boucle ne ce fait plus car mysql_fetch_array attend une ressource. Au passage tu pourrais réduire l'enchainement de if en mettant tous dans un tableau, un peu comme ça :
$terrains = array('terre', foret', 'eau', 'sable', 'route');
while ($affich_decors = mysql_fetch_array($decors) )
{
$karte[$affich_decors['pos_x']][$affich_decors['pos_y']] = "../game/img/{$terrains[$affich_decors['type']]}.jpg";
}
Pour agrandir la carte suffi d'avoir les casses en bdd et récupéré que la partit qui intéresse. Par exemple si tu veux un carré de 11*11 cases, il faut mettre une condition dans la requête :
Citation :pos_x > $pos_x - 5 && pos_x < $pos _x+ 5 && pos_y > $pos_y - 5 && pos_y > $pos_y + 5
Par rapport au début
- Ne pas mettre @ mais utiliser isset pour vérifier l'existence de la variable
- Tu peux éliminer ereg pour directement utiliser explode
$pos =explode(";", $_GET["pos"]);
$pos = array(
'x' => isset($pos[0]) ? (int)$pos[0] : 0,
'y' => isset($pos[1]) ? (int)$pos[1] : 0,
);
Bon bah Crimson à été plus rapide...