Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/02/2008, 14h48   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 38
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 38
Points : 12
Points : 12
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 :
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
fartounet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 16h46   #2
Membre éclairé
 
Avatar de Shiva Skunk
 
Femme Hélène
Ingénieur développement logiciels
Inscription : mai 2004
Messages : 326
Détails du profil
Informations personnelles :
Nom : Femme Hélène
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2004
Messages : 326
Points : 317
Points : 317
Bonjour,
peux-tu essayer en mettant ce code au milieu à la place du tiens :
Code :
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
Shiva Skunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 16h54   #3
Membre éclairé
 
Avatar de Shiva Skunk
 
Femme Hélène
Ingénieur développement logiciels
Inscription : mai 2004
Messages : 326
Détails du profil
Informations personnelles :
Nom : Femme Hélène
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2004
Messages : 326
Points : 317
Points : 317
Et si tu mets ça :
Code :
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
Shiva Skunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 21h44   #4
Candidat au titre de Membre du Club
 
Inscription : juin 2006
Messages : 38
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 38
Points : 12
Points : 12
Bonsoir,
Désolé mais le dernier code ne fonctionne pas du tout, tout est inversé
TEST ICI

A+
fartounet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 09h48   #5
Membre éclairé
 
Avatar de Shiva Skunk
 
Femme Hélène
Ingénieur développement logiciels
Inscription : mai 2004
Messages : 326
Détails du profil
Informations personnelles :
Nom : Femme Hélène
Âge : 27
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2004
Messages : 326
Points : 317
Points : 317
Tu as essayé avec le code d'avant ?
__________________
Shiv@ Skunk
Shiva Skunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h14.


 
 
 
 
Partenaires

Hébergement Web