<?php
// $AT = constante;
// $D = constante; 
// $AT é o mesmo para os dois, se o dado rolar n° <= $AT V1 ganha
// se $D > $AT V2 ganha
// vencedor suga valor $D do $EV inimigo
// combate acaba quando um dos dois tiver $EV <= 0
// o resultado do dado é $dice (six-faced dice)
// $D= 4;
// $D é removido de $EV1 e adicionado a $EV2
// saída é a chance do vampire1 ganhar com 1 dígito de precisão

/*
if ($dice <= $AT) {
    $Vampire1 = 1;
    $Vampire2 = 0;
} else {
    $Vampire2 = 1;
    $Vampire1 = 0;
}
*/

// -- EV1 = HP vampiro1
// -- EV2 = HP vampiro2
// -- AT = resultado do dado é comparado com AT
// -- se $dado <= AT = vampire1 ganha
// -- se $dado > AT = vampire2 ganha
// -- D = valor sugado do EV do perdedor
// -- acaba quando um dos HP's (EV1 ou EV2) for <= 0

fscanf(STDIN, "%d %d %d %d", $EV1, $EV2, $AT, $D);
$Vampire1Victory = 0;
$Vampire2Victory = 0;
$P1_Acumulada;
for ($i=1;$EV1 > 0 && $EV2 > 0;$i++) {
     // -- if the result value is less than or equal to AT, Vampire 1 wins the turn
     if ($AT <= 3) {
         $EV1 += $D;
         $EV2 -= $D;
         $Vampire1Victory++;
     } else {
         $EV2 += $D;
         $EV1 -= $D;
         $Vampire2Victory++;
     }
     $P1 = $AT/6;
     $P1_Acumulada = $P1**$i;
}
printf("%.1f", $P1_Acumulada*100);
?>

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: