comment faire pour pas que le calcul ne soit affiché?

Eléphanteau du PHP | 26 Messages

16 avr. 2011, 19:28

<?php
/* Les soldats ennemis attaquent les soldats du joueur*/
If (($nombre_de_soldats_vascol > 0) && ($nombre_de_soldats > 0))
{
echo "<p>Les ennemis ripostent.</p>";
echo "<p>Les $nombre_de_soldats_vascol soldats ennemis tuent $nombre_de_soldats_vascol /10 soldats.</p><img src=\"soldat ennemi.jpg\"><img src=\"soldat.jpg\"><br/>";
}
$nombre_de_soldats = $nombre_de_soldats - ($nombre_de_soldats_vascol / 10)
?>
Voila ce qui est affiché
Les ennemis ripostent.

Les 14 soldats ennemis tuent 14 /10 soldats.
J'aimerais bien que ce soit écrit:
Les ennemis ripostent.

Les 14 soldats ennemis tuent 1.4 soldats.
Dois-je créer une nouvelle variable, où il y a un moyen d'afficher directement le résultat du calcul?

Par ailleurs, je vais utiliser le modulo pour pas qu'il y ait des soldats à moitié mort.

Eléphanteau du PHP | 26 Messages

16 avr. 2011, 19:48

Y a -t-il moyen de faire plus simple que ça?
<?php
/* Les soldats ennemis attaquent les soldats du joueur*/
If (($nombre_de_soldats_vascol > 0) && ($nombre_de_soldats > 0))
{
$perte = ($nombre_de_soldats_vascol / 10) - (($nombre_de_soldats_vascol % 10)/10);
$nombre_de_soldats = $nombre_de_soldats - $perte;
echo "<p>Les ennemis ripostent.</p>";
echo "<p>Les $nombre_de_soldats_vascol soldats ennemis tuent $perte soldats.</p><img src=\"soldat ennemi.jpg\"><img src=\"soldat.jpg\"><br/>";
}
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 avr. 2011, 22:41

Tu peux faire ton calcul sans passer par une variable en le concaténant à ta chaine et en le délimitant par des parenthèse, mais au final, utiliser une variable reste plus lisible et plus facile à maintenir :)
"<p>Les $nombre_de_soldats_vascol soldats ennemis tuent ". ($nombre_de_soldats_vascol/10) ." soldats.</p>"
Pour simplifier et éviter de passer par un modulo, tu peux utiliser la fonction round() pour arrondir le nombre de victimes :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 26 Messages

17 avr. 2011, 13:01

merci pour ta réponse. Je ne vais pas utiliser la fonction round, car elle ne répond à mes besoins, étant donné que je veux toujours arrondir à l'unité inférieure.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 avr. 2011, 14:21

Dans ce cas regarde du côté de floor() ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...