Bug map php pour jeu rpg

Résolu
monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 - 17 nov. 2009 à 00:32
monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 - 18 nov. 2009 à 19:34
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.

<html>
<head><title>MAP</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style type="text/css">





  <?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.'
'.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 '
', "\n";

while($compteurX <= $finX) {
echo "\t\t\t\t\t\t\t", '
';
$test = mysql_query("SELECT posx, posy,username,skin FROM elfik_user WHERE posx='$compteurX' AND posy='$compteurY'") or die('Erreur SQL !'.$sql.'
'.mysql_error());
if(mysql_num_rows($test) == 1) {
$data = mysql_fetch_assoc($test);
echo '
', $data['username'], '
';
}
echo '
', "\n";
$compteurX++;
}

echo "\t\t\t\t\t\t", '
', "\n";
$compteurX = $debutX; // <===============ICI
$compteurY--;
}

echo '
', $data['username'], $data['posy'], '
';
mysql_close();
?>

<form action="move.php" method="post">



                                                   
                
                     
        

        
        

                   
                                         
                     
        

                
        

                                     
                
                
        

                                
</form>


</html>



Bon voila c'est bien ça m'affiche ma grille de déplacement

4 réponses

monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 1
18 nov. 2009 à 19:34
Réglé, ma base de donnée était erronée dans le sens où les abscisses étaient les ordonnées et vice versa :)


Bonne journée à tous =)
3
cs_Sodams Messages postés 57 Date d'inscription mercredi 11 juin 2008 Statut Membre Dernière intervention 18 novembre 2009
17 nov. 2009 à 09:32
Décalle la map pas le personnage.
Essaye de toujours avoir ton personnage au centre de l'écran.
0
monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 1
17 nov. 2009 à 11:24
C'est ce que j'essaie de faire mais j'y arrive pas enfin je pensais que ce code faisait ça. Tu peux m'en dire un peu plus ?

Bonne journée !
0
monoski Messages postés 132 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 13 mai 2013 1
17 nov. 2009 à 11:37
$posx
$posy
sont les variables définissant les coordonnées de mon personnage, je le précise ^^


Bonne journée à tous =)
0
Rejoignez-nous