J'essaie de créer un mini jeu de type RPG, et je me suis servi d'un tuto : http://www.jeurpg.fr/tutophp_map.php
Seulement voila mon problème, c'est que mon personnage peut se déplacer, ses coordonnées sont mises à jour, mais la grille de déplacement autour de lui ne se met pas à jour, c'est à dire que si je me décale de 5 cases sur la droite et bien mon personnage sort du champ de vision je ne comprends pas pourquoi...
Si quelqu'un voit l'erreur dans mon code, je suis preneur :)
Voici un extrait de mon code.
Code PHP :
<html>
<head><title>MAP</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style type="text/css">
<body>
<p>
<?php
$connect = mysql_connect("xxxxxxxxxx","xxxxxxxxxxxxx","xxxxxxxxxx");
mysql_select_db('xxxxxxx', $connect);
$pseudo = $_SESSION['username'];
$recup = mysql_query("SELECT username,posx,posy FROM elfik_user WHERE username='$pseudo'") or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
$fetch = mysql_fetch_assoc($recup); // Hop on met sous forme de tableau ce qu'on a récupéré de la requête précédente
// Récupération des coordonnées et définition de l'aire de la map
$posx = $fetch['posx'];
$posy = $fetch['posy'];
$compteurX = $posx - 4;
$compteurY = $posy + 4;
$finX = $posx + 5;
$finY = $posy - 5;
$debutX = $posx - 4; // Ceci va nous permettre d'afficher des lignes de 9 cases
while($compteurY >= $finY) {
echo '<div class="ligneMap">', "\n";
while($compteurX <= $finX) {
echo "\t\t\t\t\t\t\t", '<div class="caseMap">';
$test = mysql_query("SELECT posx, posy,username,skin FROM elfik_user WHERE posx='$compteurX' AND posy='$compteurY'") or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
if(mysql_num_rows($test) == 1) {
$data = mysql_fetch_assoc($test);
echo '<div class="', $data['skin'], '"><span class="name">', $data['username'], '</span></div>';
}
echo '</div>', "\n";
$compteurX++;
}
echo "\t\t\t\t\t\t", '</div>', "\n";
$compteurX = $debutX; // <===============ICI
$compteurY--;
}
echo '<div class="name"><span class="name">', $data['username'], $data['posy'], '</span></div>';
mysql_close();
?>
<form action="move.php" method="post">
<div class="ligneMove">
<input type="image" name="deplacement" src="images/fleche_haut-gauche.png" alt="NO"
value="-1|1" onClick="document.deplacementForm.submit();"/>
<input type="image" name="deplacement" src="images/fleche_haut.jpg" alt="N"
value="0|1" onClick="document.deplacementForm.submit();" />
<input type="image" name="deplacement" src="images/fleche_haut-droite.png" alt="NE"
value="1|1" onClick="document.deplacementForm.submit();" />
</div>
<div class="ligneMove">
<input type="image" name="deplacement" src="images/fleche_gauche.jpg" alt="O"
value="-1|0" onClick="document.deplacementForm.submit();" />
<input type="image" src="images/mage.jpg"alt="Vous" />
<input type="image" name="deplacement" src="images/fleche_droite.jpg" alt="E"
value="1|0" onClick="document.deplacementForm.submit();" />
</div>
<div class="ligneMove">
<input type="image" name="deplacement" src="images/fleche_bas-gauche.png" alt="SO"
value="-1|-1" onClick="document.deplacementForm.submit();" />
<input type="image" name="deplacement" src="images/fleche_bas.jpg" alt="S"
value="0|-1" onClick="document.deplacementForm.submit();" />
<input type="image" name="deplacement" src="images/fleche_bas-droite.png" alt="SE"
value="1|-1" onClick="document.deplacementForm.submit();" />
</div>
</form>
</body>
</html>
Bon voila c'est bien ça m'affiche ma grille de déplacement