Voici un exemple de code PHP pour implémenter le système de Facteur de Chance (FC) que tu as décrit :
### Code PHP pour le Facteur de Chance (FC) :
```php <?php function lancerDe($nombreDeFaces) {
return rand(1, $nombreDeFaces);
}
function calculerFC($niveauAttaquant, $niveauDefenseur) {
$differenceNiveau = $niveauAttaquant - $niveauDefenseur;
$lanceesAttaquant = [];
$lanceesDefenseur = [];
if ($differenceNiveau <= -5) {
// L'attaquant a 5 niveaux de moins ou plus
$lanceesAttaquant[] = lancerDe(20);
$lanceesAttaquant[] = lancerDe(20);
$lanceesDefenseur[] = lancerDe(20);
} elseif ($differenceNiveau >= 5) {
// L'attaquant a 5 niveaux de plus ou plus
$lanceesAttaquant[] = lancerDe(20);
$lanceesDefenseur[] = lancerDe(20);
$lanceesDefenseur[] = lancerDe(20);
} else {
// Égalité ou différence de niveau < 5
$lanceesAttaquant[] = lancerDe(20);
$lanceesDefenseur[] = lancerDe(20);
}
// On garde le meilleur des lancés pour l'attaquant et le défenseur $meilleurLanceAttaquant = max($lanceesAttaquant); $meilleurLanceDefenseur = max($lanceesDefenseur); // Détermination du FC selon le résultat du dé $FC = 1.0; // Valeur par défaut
if ($meilleurLanceAttaquant == 20) {
$FC = 1.5; // Coup critique
} elseif ($meilleurLanceAttaquant == 1) {
$FC = 0.5; // Échec critique
} else {
// Calcul intermédiaire du FC basé sur le résultat du dé
$FC = 0.5 + (($meilleurLanceAttaquant - 1) / 19) * (1.5 - 0.5);
}
// Retourne le FC calculé et les résultats des dés pour information
return [
'FC' => $FC,
'meilleurLanceAttaquant' => $meilleurLanceAttaquant,
'meilleurLanceDefenseur' => $meilleurLanceDefenseur
];
}
// Exemple d'utilisation $niveauAttaquant = 10; $niveauDefenseur = 15;
$resultat = calculerFC($niveauAttaquant, $niveauDefenseur); echo “Facteur de Chance (FC) : ” . $resultat['FC'] . “\n”; echo “Meilleur lancé de l'attaquant : ” . $resultat['meilleurLanceAttaquant'] . “\n”; echo “Meilleur lancé du défenseur : ” . $resultat['meilleurLanceDefenseur'] . “\n”; ?> ```
### Explication du Code :
1. Lancer de Dé :
2. Calcul du Facteur de Chance (FC) :
3. Détermination du FC :
4. Résultats :
Ce système introduit une dimension stratégique et aléatoire dans le combat, tout en respectant les conditions spécifiées pour le calcul du FC.