Code PHP :
<?php
$diviseura = $vx1a + $vx2a + $vx3a ;
$diviseurd = $vx1d + $vx2d + $vx3d ;
if ($diviseurd == 0){ $diviseurd = "1" ; }
else {}
$pourcentvxaperdu = floor(((($restevx1a * 100)+($restevx2a * 100)+($restevx3a * 100)) / $diviseura)/3) ;
$pourcentvxdperdu = floor(((($restevx1d * 100)+($restevx2d * 100)+($restevx3d * 100)) / $diviseurd)/3) ;
if ($vainqueur == 0) //vainqueur attaquant
{
if ($pourcentvxaperdu <= 10) {$pca = 0;}
elseif($pourcentvxaperdu <= 50) {$pca = rand(10,25);}
else {$pca = mt_rand(20,35);}
if ($pourcentvxdperdu <= 10) {$pcd = 0;}
elseif($pourcentvxdperdu <= 50) {$pcd = rand(15,35);}
else {$pcd = mt_rand(30,45);}
}
elseif ($vainqueur == 1) //vainqueur défenseur
{
if ($pourcentvxaperdu <= 10) {$pca = 0;}
elseif($pourcentvxaperdu <= 50) {$pca = rand(20,35);}
else {$pca = mt_rand(30,45);}
if ($pourcentvxdperdu <= 10) {$pcd = 0;}
elseif($pourcentvxdperdu <= 50) {$pcd = rand(20,35);}
else {$pcd = mt_rand(30,50);}
}
elseif ($vainqueur == 2) //égalité
{
if ($pourcentvxaperdu <= 10) {$pca = 0;}
elseif($pourcentvxaperdu <= 50) {$pca = rand(10,25);}
else {$pca = mt_rand(25,40);}
if ($pourcentvxdperdu <= 10) {$pcd = 0;}
elseif($pourcentvxdperdu <= 50) {$pcd = rand(15,35);}
else {$pcd = mt_rand(35,50);}
}
else {}
//pertes détaillés
//attaquant
$pertesvx1a = $vx1a - $restevx1a ;
$pertesvx2a = $vx2a - $restevx2a ;
$pertesvx3a = $vx3a - $restevx3a ;
//defenseur
$pertesvx1d = $vx1d - $restevx1d ;
$pertesvx2d = $vx2d - $restevx2d ;
$pertesvx3d = $vx3d - $restevx3d ;
//calcul recupération
//attaquant
$amrecup = $pca * (($pertesvx1a * $prixmetalvx1)+($pertesvx2a * $prixmetalvx2)+($pertesvx3a * $prixmetalvx3));
$aorecup = $pca * (($pertesvx1a * $prixorvx1)+($pertesvx2a * $prixorvx2)+($pertesvx3a * $prixorvx3));
$atrecup = $pca * (($pertesvx1a * $prixthoriumvx1)+($pertesvx2a * $prixthoriumvx2)+($pertesvx3a * $prixthoriumvx3));
$ahrecup = $pca * (($pertesvx1a * $prixhydrogenevx1)+($pertesvx2a * $prixhydrogenevx2)+($pertesvx3a * $prixhydrogenevx3));
//défensseur
$dmrecup = $pcd * (($pertesvx1d * $prixmetalvx1)+($pertesvx2d * $prixmetalvx2)+($pertesvx3d * $prixmetalvx3));
$dorecup = $pcd * (($pertesvx1d * $prixorvx1)+($pertesvx2d * $prixorvx2)+($pertesvx3d * $prixorvx3));
$dtrecup = $pcd * (($pertesvx1d * $prixthoriumvx1)+($pertesvx2d * $prixthoriumvx2)+($pertesvx3d * $prixthoriumvx3));
$dhrecup = $pcd * (($pertesvx1d * $prixhydrogenevx1)+($pertesvx2d * $prixhydrogenevx2)+($pertesvx3d * $prixhydrogenevx3));
//calcul pillage ressources défenseur si et seulement si l'attaquant gagne ....
if($vainqueur == 0)
{//mise à jour des donnée de récupération ...
$pcpa = rand(10,30);
//Attaquant
$amrecup = $amrecup + (($pcpa*$metald)/100);
$aorecup = $aorecup + (($pcpa*$goldd)/100);
$atrecup = $atrecup + (($pcpa*$thoriumd)/100);
$ahrecup = $ahrecup + (($pcpa*$hydrogened)/100);
//défenseur
$dmrecup = $dmrecup - (($pcpa*$metald)/100);
$dorecup = $dorecup - (($pcpa*$goldd)/100);
$dtrecup = $dtrecup - (($pcpa*$thoriumd)/100);
$dhrecup = $dhrecup - (($pcpa*$hydrogened)/100);
Voici le code en cause.
Voilà, j'attaque quelqu'un sans défance, il s'avère que :
Citation :15 pca
0 pcd
33 $pourcentvxaperdu
0 $pourcentvxaperdu
alors que pca et $pourcentvxaperdu devraient êtres égal à 0 comme il n'y a aucune pertes ^^
voilà, ça fait 2h30 que je bloque, enfin que l'on bloque (moi et mon co-admin) sur ce problème.
Si vous trouvez, chapeau