Hello,
Bon, je viens d'essayer ton tuto, il est plutôt bien vu que j'ai quasiment tout compris :hahahaha:
Cependant, je bute sur quelques trucs:
Problème numéro 1
Bon, je viens d'essayer ton tuto, il est plutôt bien vu que j'ai quasiment tout compris :hahahaha:
Cependant, je bute sur quelques trucs:
Problème numéro 1
Code PHP :
<?php
//definition des bords de la map
$i=6;//6 cases avant debordement en haut et a gauche
$j=1;
$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++;
}
Si j'ai bien compris, ça a un rapport avec le débordement (j'ai compris cette notion )
Alors une remarque et une question:
Si je met 250 dans la boucle while pour la variable $k
La carte n'est pas centré sur mon perso... mais en 7/7
Si je met 245, c'est centré sur le perso.
Voici la question, d'où sort ce 245 et 250 ?
J'ai pas réussi a comprendre pourquoi cette valeur ?
Je ne pense pas que ce soit normal mais quand j'approche du bord de la carte, je commence a voir les coordonnées négatives. Un probleme sur le débordement donc... mais je n'arrive pas a comprendre pourquoi (ça a surement un rapport avec ce que j'ai quoté . Au passage, la valeur dans la while n'est pas 250 mais 245 chez moi.)
Problème numéro 2
Enfin pour la carte, j'ai constaté que le batiment (le sorte de dome sur le screen. Cf en bas) quand on rentre en collision, on nous dit bien que l'on peut pas y aller et le perso ne bouge pas mais l'image du batiment disparait ?!?
D'après toi, l'erreur pourrait venir d'où dans le code ?
Probleme numéro 3
Sinon mon autre probleme vient de ton script pour l'attaque. J'ai bien compris que le formulaire n'a pas d'effet (en tant que tel pour l'attaque) mais permet juste d'afficher les cibles autour du personnage.
Mon problème est que ça n'affiche strictement rien...
Code PHP :
<?php
/*
Pour les attaques, on vas aller
chercher toutes les positions autour de votre perso
Si votre perso est en 10.10, ov va verifier:
9.9, 9.10, 9.11
10.9, 10.10, 10.11
11.9, 11.10, 11.11
*/
echo '<form action="interface.php" method="post">';
echo '<select name="attaque_joueur">';
for ($x=$position_x-1;$x<=$position_x+1;$x++)
{// tous les x autour du joueur a case -1 et case +1
for ($y=$position_y-1;$y<=$position_y+1;$y++)
{// tous les y autour du joueur a case -1 et case +1
$sq = mysql_query('SELECT compte FROM personnage WHERE position_x='.$x.' AND position_y='.$y.' ORDER BY position_x DESC,position_y DESC') or die(mysql_error());
while ($data = mysql_fetch_array($sq))
{
if (!empty($data['compte']) and $data['compte'] != $pseudo_joueur)// si on trouve un joueur et que ce n'est biensur pas vous
{
echo '<option value="'.$data['compte'].'">'.$data['compte'].'</option>'; //on l'affiche
}
}
mysql_free_result($sq);
}
}
echo '</select><input type="submit" name="attaque" value="Attaquer">'."\n";
echo '</form>'."\n";
?>