Mon array ne prend les changements que quand ca l'arrange?

Mammouth du PHP | 555 Messages

08 août 2007, 11:27

Salut à tous!
Voila dans le cadre de ma nouvelle fonction de combat dont la dev traine un peu parce que je suis pris par mon boulot et par d'autres projets j'utilise cette fonction (ci dessous).
Le hic c'est que quand je fais afficher les deux array en question les changements n'ont pas été pris je ne sais pas pourquoi. J'ai pourtant fait moulte tests et j'ai mis deux echo de test pour voir à chaque fois qu'il y a changement d'état (et il y a des changements d'états)
Ca fait un bout de temps que je suis sur ce problème si quelqu'un pouvait m'aider ca m'arrangerai bien.
Voila la fonction.
function atq_confront ($ar1, $ar2, $nu1, $nu2)
{
 $nbd1 = 0;
 $nbd2 = 0;
 while($nbd1 < $nu1 AND $nbd2 < $nu2)
 {
  $mark = 0;
  while($mark = 0)
  {
   $rand1 = rand(0, $nu1);
   if($ar1[$rand1][3] == 1) {$mark++;}
  }
  $mark = 0;
  while($mark = 0)
  {
   $rand2 = rand(0, $nu2);
   if($ar2[$rand2][3] == 1) {$mark++;}
  }
  $ar2[$rand2][2] -= $ar1[$rand1][1];
  $ar1[$rand1][2] -= $ar2[$rand2][1];
  if($ar2[$rand2][2] <= 0) { $ar2[$rand2][3] = 0; $nbd2++; echo 'unité morte 2<br />';}
  if($ar1[$rand1][2] <= 0) { $ar1[$rand1][3] = 0; $nbd1++; echo 'unité morte 1<br />';}
 }
 $arfinal = array();
 $arfinal[1] = $ar1;
 $arfinal[2] = $ar2;
 return ($arfinal);
}
A+ et bon surf!!!!

ViPHP
ViPHP | 928 Messages

08 août 2007, 11:35

Tu as pas du beaucoup déboguer :

Code : Tout sélectionner

while($mark = 0)
tu utilises un = et non un == ;)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

08 août 2007, 12:08

C'est le genre d'erreur qu'on est capable de lire 200 fois sans le voir tellement on est sûr que la syntaxe est correcte ... je parle d'expérience ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 555 Messages

08 août 2007, 12:24

Erf! Quel nul... Bon je vais me coucher... :(
Merci les gars je mets résolu!
A+ et bon surf!!!!