Bug map php pour jeu rpg [Résolu]

Signaler
Messages postés
132
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
13 mai 2013
-
Messages postés
132
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
13 mai 2013
-
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

Messages postés
132
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
13 mai 2013
1
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 =)
Messages postés
57
Date d'inscription
mercredi 11 juin 2008
Statut
Membre
Dernière intervention
18 novembre 2009

Décalle la map pas le personnage.
Essaye de toujours avoir ton personnage au centre de l'écran.
Messages postés
132
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
13 mai 2013
1
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 !
Messages postés
132
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
13 mai 2013
1
$posx
$posy
sont les variables définissant les coordonnées de mon personnage, je le précise ^^


Bonne journée à tous =)