IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

carte en php, problème pour les limites de déplacement


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Points : 30
    Points
    30
    Par défaut carte en php, problème pour les limites de déplacement
    Bonjour à tous,

    J'ai fais une map en php, à partir d'un fichier externe qui comporte des 0, des 1, et même un 2 (pour le test) que le code transforme en images .gif du même nom (1.gif ...) et les affiche dans le .php

    Dans mon code on ne voit qu'un carré de 7 x 7 dans lequel on peut se déplacer avec des flèches. La suite, et c'est là que ca cloche, c'est que j'ai ajouté des conditions, comme quoi, si on est sur le bord, les flèches disparaissent.

    MAIS, il y a une erreur quand on va trop a gauche. Je ne comprend pas pourquoi, ca serait sympa si vous auriez une idée, d'une erreur plus que probable de mon code.

    Voici le lien TEST où vous pouvez voir l'erreur.

    Merci beaucoup à tous ceux qui pourrons m'aider
    A+

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <?php
     
    $l			= 30;
    $h 			= 30;
    $map 		= file("map.mod");
     
    $y_top 		= $loc_y - 1;
    $y_bottom 	= $loc_y + 1;
    $x_left		= $loc_x - 1;
    $x_right	= $loc_x + 1;
     
    echo '<table width="642" height="640" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="21">&nbsp;</td>
        <td width="779">';
    if($loc_y != 1){
    	echo '<div align="center"><a href="map.php?loc_x='.$loc_x.'&loc_y='.$y_top.'"><img src="top.gif" border="0"></a></div>';
    }	
    echo '</td>
        <td width="21">&nbsp;</td>
      </tr>
      <tr>';
    if($loc_x != 1){
        echo '<td height="581" valign="middle"><div align="right"><a href="map.php?loc_x='.$x_left.'&loc_y='.$loc_y.'"><img src="left.gif"></a></div></td>';
    }	
    echo '<td align="center" valign="middle">';
     
     
    for ($y = $loc_y; $y <= $loc_y + 6; $y++)
    {
    	for ($x = $loc_x; $x <= $loc_x + 6; $x++)
    	{
    		if ($x == $loc_x + 3 && $y == $loc_y + 3){
    			echo '<img src="2.gif">';
    		}else{
    			echo '<img src="'.$map[$y][$x].'.gif">';
    		}
    	}
    	echo '<br>';
    }
     
    echo '</td>';
    if($loc_x != $l-6){
    	echo '<td valign="middle"><div align="left"><a href="map.php?loc_x='.$x_right.'&loc_y='.$loc_y.'"><img src="right.gif"></a></div></td>';
    }
    echo '</tr>
      <tr>
        <td height="20">&nbsp;</td><td>';
    if($loc_y != $h-6){
    	echo '<div align="center"><a href="map.php?loc_x='.$loc_x.'&loc_y='.$y_bottom.'"><img src="bottom.gif"></a></div>';
    }
    echo '<br>x = '.$loc_x.' | y = '.$loc_y.'</td><td>&nbsp;</td>
      </tr>
    </table>';
    ?>
    PS: je n'ai pas mis de fichier attaché, car il y a tout le code

  2. #2
    Membre averti Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Points : 341
    Points
    341
    Par défaut
    Bonjour,
    peux-tu essayer en mettant ce code au milieu à la place du tiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for ($y = $loc_y; $y <= $loc_y + 6; $y++)
    {
    	for ($x = $loc_x; $x <= $loc_x + 6; $x++)
    	{
    		echo 'x = '.$x.', y = '.$y;
    	}
    	echo '<br>';
    }
    Pour voir à quel moment il bloque
    Shiv@ Skunk

  3. #3
    Membre averti Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Points : 341
    Points
    341
    Par défaut
    Et si tu mets ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
     
    $l			= 30;
    $h 			= 30;
    $map 		= file("map.mod");
     
    $y_top 		= $loc_y - 1;
    $y_bottom 	= $loc_y + 1;
    $x_left		= $loc_x - 1;
    $x_right	= $loc_x + 1;
     
    echo '<table width="642" height="640" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="21">&nbsp;</td>
        <td width="779">';
    if($loc_y != 1){
    	echo '<div align="center"><a href="map.php?loc_x='.$loc_x.'&loc_y='.$y_top.'"><img src="top.gif" border="0"></a></div>';
    }	
    echo '</td>
        <td width="21">&nbsp;</td>
      </tr>
      <tr><td height="581" valign="middle">';
    //ici tu ne créais le <td> que si $loc_x != 1 or il doit être créé quand même mais vide, pareil plus bas
    if($loc_x != 1){
        echo '<div align="right"><a href="map.php?loc_x='.$x_left.'&loc_y='.$loc_y.'"><img src="left.gif"></a></div>';
    }	
    echo '</td><td align="center" valign="middle">';
     
     
    for ($y = $loc_y; $y <= $loc_y + 6; $y++)
    {
    	for ($x = $loc_x; $x <= $loc_x + 6; $x++)
    	{
    		if ($x == $loc_x + 3 && $y == $loc_y + 3){
    			echo '<img src="2.gif">';
    		}else{
    			echo '<img src="'.$map[$y][$x].'.gif">';
    		}
    	}
    	echo '<br>';
    }
     
    echo '</td><td valign="middle">';
    if($loc_x != $l-6){
    	echo '<div align="left"><a href="map.php?loc_x='.$x_right.'&loc_y='.$loc_y.'"><img src="right.gif"></a></div>';
    }
    echo '</td></tr>
      <tr>
        <td height="20">&nbsp;</td><td>';
    if($loc_y != $h-6){
    	echo '<div align="center"><a href="map.php?loc_x='.$loc_x.'&loc_y='.$y_bottom.'"><img src="bottom.gif"></a></div>';
    }
    echo '<br>x = '.$loc_x.' | y = '.$loc_y.'</td><td>&nbsp;</td>
      </tr>
    </table>';
    ?>
    Shiv@ Skunk

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Points : 30
    Points
    30
    Par défaut
    Bonsoir,
    Désolé mais le dernier code ne fonctionne pas du tout, tout est inversé
    TEST ICI

    A+

  5. #5
    Membre averti Avatar de Shivaneth
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 349
    Points : 341
    Points
    341
    Par défaut
    Tu as essayé avec le code d'avant ?
    Shiv@ Skunk

Discussions similaires

  1. Problème pour les accent en php
    Par -Fly- dans le forum Langage
    Réponses: 2
    Dernier message: 14/11/2010, 10h27
  2. Réponses: 4
    Dernier message: 16/07/2006, 14h00
  3. Problème pour les variables de session
    Par brotelle dans le forum Langage
    Réponses: 11
    Dernier message: 20/04/2006, 11h22
  4. [VB.NET]Problème pour les feuilles MDI
    Par Skieur38 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/02/2006, 14h10
  5. [SQL-Server] ms sql server et php : problème avec les caractères accentués
    Par stephane9422 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/12/2005, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo