Des amis et moi avons joué à du DSA (un RPG de table principalement allemand comme D&D). Je me demandais quelles sont les chances de passer des rouleaux, vous devrez donc écrire du code pour le calculer.
Votre personnage est défini par des statistiques (de 8 à 14) et des valeurs de talent (TV) (0 à 21). Pour l'instant, nous utiliserons l'escalade comme exemple.
Tests de talents
Un talent (escalade) ressemble à ceci: (Courage-Dextérité-Force) TV: 7. Pour tester un personnage sur un talent, vous lancez sur ces statistiques avec un dé à 20 faces et essayez d'obtenir en dessous ou égal à la statistique, si tu le fais bien. Sinon, vous pouvez utiliser vos points TV pour réduire le roulement avec un rapport de 1: 1.
Exemple
Un chasseur avec courage 12, dextérité 13 et force 14 essaie de grimper à un arbre, sa télé est 7.
Il obtient un 3, la valeur est inférieure à 12, il a donc réussi ce jet.
Puis il lance un 17, 17 est 4 de plus que 13, donc 4 TV s'épuisent avec 3 à gauche.
Pour le dernier lancer, vous obtenez un 14, place sur passé.
Tous les rouleaux sont passés et le chasseur a réussi à grimper à l'arbre, il reste 3 TV.
Contribution
4 valeurs dans n'importe quel format que vous choisissez, prises à partir de l'entrée standard de votre langue. Il doit cependant être dans cet ordre.
Par exemple 12 13 14 7
ou 12,13,14,7
ou sous forme de tableau {12,13,14,7} ou mixte[12, 14, 8], 3
Production
La chance de la fréquence à laquelle les rouleaux passent.
Par exemple (pour les valeurs ci-dessus)0.803
12,14,8,3 = 0.322
11,11,12,11 = 0.840
Pour le bonus: encore une fois le formatage n'est pas le problème ici, sortez-le comme vous le souhaitez mais dans l'ordre suivant:
failed/with 0/with 1/with 2/with 3/with 4/with 5/with 6/with 7
et ainsi de suite jusqu'à ce qu'il ne reste plus de téléviseur.
12,13,14,7 = 0.197/0.075/0.089/0.084/0.078/0.073/0.068/0.063/0.273
12,14,8,3 = 0.678/0.056/0.051/0.047/0.168
Défi et règles et bonus
Vous le saurez, étant donné l'entrée, la chance de passer les rouleaux avec une précision de + - 0,5%.
-20% si votre programme sort également les chances de passer avec la
n
TV (voir sortie).C'est le code-golf , donc le code le plus court en octets gagne!
[12, 14, 8], 3
?