Dans le cadre de la version Alpha 1.1 de mon jeu La Grande Guerre 1914-1918 je désire afficher sur la Map divers type de batiments ( Ferme, Quartiers Généraux, Eglise, etc...) En cliquant sur le batiment les joueurs se trouveront à l'intérieur du batiment et pourront ainsi faire diverses actions tel que dormir, manger ou autres
Seul soucis que j'ai, c'est que je n'arrive pas à afficher mes batiments...
Donc je ne peux pas tester si les batiments sont bien cliquable comme prévue
Voila donc le script de Toute ma page joué...
Les requetes de selections dans les diverses tables s'effectue à la ligne 43
Et l'affichage des batiments à la ligne 76 et 77
Seul soucis que j'ai, c'est que je n'arrive pas à afficher mes batiments...
Donc je ne peux pas tester si les batiments sont bien cliquable comme prévue
Voila donc le script de Toute ma page joué...
Les requetes de selections dans les diverses tables s'effectue à la ligne 43
Et l'affichage des batiments à la ligne 76 et 77
Code PHP :
<?
session_start();
include('zone-page/haut.php');
include('zone-page/menu-gauche.php');
include('zone-page/droit.php');
include('bdd.php');
include('reglage.php');
include('function.php');
/////Affichage map et insertion////
$requete=0;
$perso=$_SESSION['perso'];
$id=$_SESSION['id'];
if($_SESSION['connection'])
{
// on regardesi le perso est inseré sur le jeu
$res = $db->extract_one("SELECT inserer FROM membres WHERE id='$id' ");
$inserer=$res['inserer'];
if($inserer=='0') echo '<center>Votre perso n\'est pas encore inseré sur le champ de bataille.<br><br><a href="inserer.php?p=1"> Cliquez-ici pour proceder à son insertion !</center>';
$sql = mysql_query("SELECT perso FROM map WHERE perso='$id'");
$perso =mysql_num_rows($sql);
if($perso==0) echo '<br><br><center>Vous n\'êtes actuellement pas sur le front, les raisons possibles sont :<br>-Vous revenez de vacances<br>-Vous avez étè tué<br><br><form action="retour-front.php" method="post"><input type="submit" value="Retourner Au Front"><br><br><img src="/image/front.jpeg">';
else
{
////On verifie que le perso est sur la map
/////////
//affichage de la map
/////////
//debut definition bord map
$minmap=-10;
$maxmap=9;
//fin definition bord map
?>
<TABLE border="0" cellpadding=0 cellspacing=0 bgcolor="#000000" style="font-family:Verdana, Arial, Helvetica, sans-serif; color:#FFFFFF; font-size:11px;">
<?php
$whereperso=mysql_fetch_array(mysql_query("SELECT m.X,m.Y,p.vision FROM map as m LEFT OUTER JOIN membres as p ON p.id=m.perso WHERE m.perso='$id'"));
$requete++;
$minXvue=$whereperso['X']-$whereperso['vision'];
$minYvue=$whereperso['Y']-$whereperso['vision'];
$maxXvue=$whereperso['X']+$whereperso['vision'];
$maxYvue=$whereperso['Y']+$whereperso['vision'];
$resultall=mysql_query("SELECT c.perso,c.X,c.Y,c.terrain,c.bat,p.joueur_pseudo,p.fichier as natio,t.fichier,t.tnom,b.fichier as batiment,b.nom-batiment,b.lien FROM map as c LEFT OUTER JOIN membres as p ON c.perso=p.id LEFT OUTER JOIN batiments as b ON c.bat=b.id LEFT OUTER JOIN terrain as t ON t.id=c.terrain WHERE X>='$minXvue' and X<='$maxXvue' and Y>='$minYvue' and Y<='$maxYvue' ORDER BY Y DESC,X ASC");
$requete++;
$nbcase=0;
for ($y=$maxYvue;$y>=$minYvue;$y--)
{for($x=$minXvue;$x<=$maxXvue;$x++)
{if($x<=$maxmap AND $y<=$maxmap AND $x>=$minmap AND $y>=$minmap)
{$result1[$x][$y]=mysql_fetch_assoc($resultall);
}
$nbcase++;
}
}
$x=$minXvue-1;
$y=$maxYvue+1;
for ($case=0;$case<=$nbcase;$case++)
{if($x==($minXvue-1) AND $y==($maxYvue+1))
{?><tr><td valign="middle" align="center" style="padding:2px;">Y\X</td><?php
}
elseif ($y==$maxYvue+1)
{?><td valign="middle" align="center" style="padding:2px;"><?php echo $x; ?></td><?php
$case--;
}
elseif ($x==$minXvue-1)
{?><td valign="middle" align="center"><?php echo $y; ?></td><?php
$case--;
}
elseif(!isset($result1[$x][$y]['terrain']))
{?><td valign="middle" align="center" bgcolor="#111111"> </td><?php
}
else
{if(isset($result1[$x][$y]['joueur_pseudo']) AND ($result1[$x][$y]['natio']))
{?><td onclick="windows.open('http://adresse.com/fiche?mat=<?php echo $joueur['mat']; ?>')" valign="middle" background="image/image_terrain/<?php echo $result1[$x][$y]['fichier']; ?>" align="center" bgcolor="#111111" width="50px" height="50px"><img src="image/image_perso/<? echo $result1[$x][$y]['natio']; ?>" title="<?php echo $result1[$x][$y]['joueur_pseudo']; ?>">
</td><?php
}
elseif (isset($result1[$x][$y]['batiment']) AND ($result1[$x][$y]['nom_batiment']))
{?><td valign="middle" background="image/image_terrain/<?php echo $result1[$x][$y]['fichier']; ?>" align="center" bgcolor="#111111" width="50px" height="50px"><a href="batiments/<? echo $result1[$x][$y]['lien']; ?>"><img src="image/image_bat/<? echo $result1[$x][$y]['batiment']; ?>" title="<?php echo $result1[$x][$y]['nom_batiment']; ?>"></a><?php
}
else
{?><td align="center" background="image/image_terrain/<?php echo $result1[$x][$y]['fichier']; ?>" width="50px" height="50px"> </td><?php
}
}
$x++;
if ($x>$maxXvue)
{?></tr><?php
$x=$minXvue-1;
$y--;
if ($y>=$minYvue)
{?><tr><?php
}
}
}
?>
</table>
<?php
echo $requete;
//fin
if (isset($_SESSION['message1'])) echo'<br><br><fieldset><legend><font color="gray">Attaques/Soins</font></legend><br>'.$_SESSION['message1'].'</fieldset>';
echo'<br><br><fieldset><legend><font color="gray">Jeu</font></legend><br>';
echo'<table><tr><td>'; include('tour.php');
$perso=mysql_fetch_array(mysql_query("SELECT xp,pv,pv_max,mvt,mvt_max,attaque,attaque_max,classe FROM membres WHERE id='$id'"));
$mvt=$perso['mvt'];
$mvtmax=$perso['mvt_max'];
$attaque=$perso['attaque'];
$attaquemax=$perso['attaque_max'];
$classe=$perso['classe'];
$carac='';
$carac.='<br><br><b>Mvt :</b> <i>'.$mvt.' sur '.$mvtmax.'</i><br>';
if($classe=='Infirmier')
{
$carac.='<b>Soins :</b> <i>'.$attaque.' sur '.$attaquemax.'</i><br>';
}
else
{
$carac.='<b>Attaques :</b> <i>'.$attaque.' sur '.$attaquemax.'</i><br>';
}
echo $carac;
echo '</td><td>';
if($classe=='Infirmier')
{
include('soigner.php');
}
else
{
include('attaque.php');
}
echo'</td><td>'; include('deplacement.php'); echo'</td></tr></table>';
echo'</fieldset>';
}
}
else
{
echo'<center>Il faut se connecter pour accéder à cette partie.</center>';
}
include('zone-page/droit2.php');
?>
Merci de votre aide