<?php
session_start();
$pseudo_joueur = $_SESSION['login'];
include("../admin/dbconnect.inc.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Projet Aegis</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design par defaut" href="css/jeu.css" />
</head>
<body>
<div id="menu_detail_perso">
<form action="interface.php" method="post">
<div align="center">
<br>
<table width="120" border="0" cellspacing="0" cellpadding="0" align="center" height="120">
<tbody>
<tr>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="NO"></td>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="N"></td>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="NE"></td>
</tr>
<tr>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="O"></td>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="C"></td>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="E"></td>
</tr>
<tr>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="SO"></td>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="S"></td>
<td align="center" valign="middle" width="40" height="40"><input type="submit" name="direction" value="SE"></td>
</tr>
</tbody>
</table>
</div>
</form>
</div>
<div id="plateau">
<?php
//on viens chercher la position du joueur
$requete = mysql_query("SELECT id, compte, position_x, position_y, type_soldat FROM personnage WHERE `compte`='$pseudo_joueur'");
$sql = mysql_fetch_array ($requete);
$position_x = $sql['position_x'];
$position_y = $sql['position_y'];
$type_soldat = $sql['type_soldat'];
//Gestion des fleches de déplacement
if (isset($_POST['direction']))
{
//définitions des directions
switch ($_POST['direction'])
{
case "NO":
$direction_x = $position_x-1;
$direction_y = $position_y-1;
break;
case "N":
$direction_x = $position_x;
$direction_y = $position_y-1;
break;
case "NE":
$direction_x = $position_x+1;
$direction_y = $position_y-1;
break;
case "SO":
$direction_x = $position_x-1;
$direction_y = $position_y+1;
break;
case "S":
$direction_x = $position_x;
$direction_y = $position_y+1;
break;
case "SE":
$direction_x = $position_x+1;
$direction_y = $position_y+1;
break;
case "E":
$direction_x = $position_x+1;
$direction_y = $position_y;
break;
case "O":
$direction_x = $position_x-1;
$direction_y = $position_y;
break;
}
// Vérification de la présence des batiments
$sql = mysql_query('SELECT id, type_batiment, position_x, position_y FROM batiment WHERE position_x='.$direction_x.' AND position_y='.$direction_y.' ') or die(mysql_error());
while ($data = mysql_fetch_array($sql))
{
if (empty($TabMAP[$data['position_x']][$data['position_y']]))
$TabMAP[$data['position_x']][$data['position_y']] = $data['type_batiment'];
}
mysql_free_result($sql);
// Vérification de la présence des autres joueurs
$sql2 = mysql_query('SELECT id, compte, position_x, position_y, type_soldat FROM personnage WHERE position_x='.$direction_x.' AND position_y='.$direction_y.' ') or die(mysql_error());
while ($data = mysql_fetch_array($sql2))
{
if (empty($TabMAP2[$data['position_x']][$data['position_y']]))
$TabMAP2[$data['position_x']][$data['position_y']] = $data['compte'];
}
mysql_free_result($sql2);
if(!empty($TabMAP[$direction_x][$direction_y]) or !empty($TabMAP2[$direction_x][$direction_y]) or $direction_x==0 or $direction_y==0 or $direction_x==251 or $direction_y==251)// si on detecte un autre joueur ou un batiment ou un bord de carte
{
echo '<div align="center"><font color=#ff0000>Cet emplacement est déjà occupé !</font><br><br>'."\n";//on se deplace pas
}
else {//si c'est vide
//on change de direction
$position_x = $direction_x;
$position_y = $direction_y;
//et on update sa position dans la table
mysql_query("UPDATE personnage Set position_x='$direction_x', position_y='$direction_y' WHERE `compte`='$pseudo_joueur'") or die (mysql_error());
}
}
//Définition de la map
$taille = 5;// ici 5 cases autour du joueur (soit une map de 11*11)
$x_debut=$position_x-$taille;//5 cases a gauche du joueur
$x_fin=$position_x+$taille;//5 cases a droite du joueur
$y_debut=$position_y-$taille;//5 cases au dessus du joueur
$y_fin=$position_y+$taille; //5 cases au dessous du joueur
//definition des bords de la map
$i=6;//6 cases avant debordement en haut et a gauche
$j=0;
$k=245;//6 cases avant debordement en bas et a droite
while ($i >=1 and $j<=6 and $k<=250){
if ($position_x == $i) {$x_debut = $position_x-$taille+$j; $x_fin = $x_fin+$j;}
if ($position_y == $i) {$y_debut = $position_y-$taille+$j; $y_fin = $y_fin+$j;}
if ($position_x == $k) {$x_fin = $x_fin-$j; $x_debut = $x_debut-$j;}
if ($position_y == $k) {$y_fin = $y_fin-$j; $y_debut = $y_debut-$j;}
$j++;
$i--;
$k++;
}
/*
Vérification de la présence des autres joueurs:
on va chercher les joueurs qui sont dans le perimetre défini precedement.
*/
$sq2 = 'SELECT id, type_soldat, position_x, position_y, type_soldat FROM personnage WHERE position_x between '.$x_debut.' and '.$x_fin.' AND position_y between '.$y_debut.' and '.$y_fin.' ORDER BY position_x DESC,position_y DESC';
$requete2 = mysql_query($sq2) or die(mysql_error());
while ($data = mysql_fetch_array($requete2)) {
if (empty($TabMAP[$data['position_x']][$data['position_y']]))
$TabMAP[$data['position_x']][$data['position_y']] = $data['type_soldat'];
}
mysql_free_result($requete2);
/*
Vérification de la présence des batiments:
on va chercher les batiments qui sont dans le perimetre défini precedement.
*/
$sql3 = mysql_query('SELECT id, type_batiment, position_x, position_y FROM batiment WHERE position_x between '.$x_debut.' and '.$x_fin.' AND position_y between '.$y_debut.' and '.$y_fin.' ORDER BY position_x DESC,position_y DESC') or die(mysql_error());
while ($data = mysql_fetch_array($sql3)) {
if (empty($TabMAP2[$data['position_x']][$data['position_y']]))
$TabMAP2[$data['position_x']][$data['position_y']] = $data['type_batiment'];
}
mysql_free_result($sql3);
/* Vérification des terrains a afficher */
$sql4 = mysql_query('SELECT type_terrain, position_x, position_y FROM map WHERE position_x between '.$x_debut.' and '.$x_fin.' AND position_y between '.$y_debut.' and '.$y_fin.' ORDER BY position_x DESC,position_y DESC') or die(mysql_error());
while ($data = mysql_fetch_array($sql4)) {
$TabMAP10[$data['position_x']][$data['position_y']] = $data['type_terrain'];
}
mysql_free_result($sql4);
//affichage de la carte
echo '<table border="1" cellspacing="0" cellpadding="0">'."\n";
echo '<tbody>'."\n";
echo '<tr><td> x<br> y</td>'."\n";
//on affiche les positions x sur la premiere ligne
for($x=$x_debut; $x<=$x_fin; $x++)
echo '<td align="center" valign="middle" width="50">'.$x.'</td>'."\n";
//on affiche lignes par lignes la position y, les autres joueurs et les batiments
for ($y=$y_debut; $y<=$y_fin; $y++)
{
echo'<tr ><td align="center" valign="middle" height="50">'.$y.'</td>'."\n";//affichage de la position
for($x=$x_debut;$x<=$x_fin;$x++)
{// pour chaque lignes
if($x==$position_x && $y==$position_y)//si on est sur la position du joueur
echo '<td><img src=image/unites/'.$type_soldat.'.png></td>';//on affiche l'avatar de votre perso
else
if(!empty($TabMAP[$x][$y]))//si on tombe sur un autre joueur
echo '<td><img src=image/unites/'.$TabMAP[$x][$y].'.png></td>';//on affiche l'avatar du joueur
else
if(!empty($TabMAP2[$x][$y]))//si on tombe sur un batiment
echo '<td><img src=image/batiment/'.$TabMAP2[$x][$y].'.png></td>';//on affiche l'image du batiment
else
if(!empty($TabMAP10[$x][$y]))//si on tombe sur un terrain
echo '<td><img src=image/terrains/'.$TabMAP10[$x][$y].'.gif></td>';//on affiche l'image du terrain
else
echo '<td><img src="blank.png"></td>';//si il n'y a rien...
}
echo '</tr>';//on ferme la ligne et on passe a la ligne suivante
}
echo '</tbody></table>';//on ferme la table
?>
</div>
</body>
</html>