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);
}