31 votes

Comment la Chance demi-elfe (relancer mes Nat 1) affecte-t-elle le résultat de mes dés?

La caractéristique raciale Chance du demi-homme vous permet de relancer les 1 naturels sur les vérifications, les sauvegardes et les jets d'attaque, mais vous devez conserver le deuxième résultat. En cas d'Avantage ou de Désavantage, elle vous permet de relancer seulement un des dés si les deux se révèlent être des 1.

Comment cela affecte-t-il le résultat statistique attendu du jet? Notez également l'Avantage et le Désavantage, car la caractéristique affecte également ce jet.

31voto

user32262 Points 2147

Il ajoute un +0,5 à tous les jets

La moyenne d'un jet de dé est de 10,5, qui est simplement la valeur moyenne des nombres 1 à 20.

Nous relançons tout dé qui donne 1 et puisque nous restons avec ce résultat, nous pouvons simplement remplacer le 1 dans la liste par le jet moyen, et recalculer la moyenne, nous donnant un jet moyen de 10.975.

Par conséquent, le trait de chance des demi-humains équivaut à environ un +0,5 pour tous les jets de d20.

Voici la distribution, générée à partir d'un script en matlab rapide que j'ai écrit. Comme vous pouvez vous y attendre, elle est assez uniforme pour toutes les valeurs qui ne sont pas 1 (notez qu'il y a quand même une certaine variation, car cela provient de nombres aléatoires réels et non d'un calcul analytique) :

description de l'image

Avantage et Désavantage

J'ai modifié mon script pour voir comment cela affecterait l'avantage et le désavantage.

Pour le désavantage :

  • Moyenne normale : 7,17
  • Avec la chance des demi-humains : 7,80

description de l'image

Pour l'avantage :

  • Moyenne normale : 13,82
  • Avec la chance des demi-humains : 14,13

description de l'image

Nous pouvons voir qu'il y a environ un bonus de +0,6 pour le désavantage, tandis qu'il n'y a qu'un bonus de +0,3 pour l'avantage. Bien sûr, cela a du sens, car obtenir un 1 a plus d'impact pour le désavantage que pour l'avantage, comme l'indiquent clairement les graphiques.

Il est également intéressant de noter que le fait de ne relancer qu'un dé ne semble pas vraiment changer la valeur moyenne. Encore une fois, cela a du sens car vous n'avez qu'une chance sur 400 de lancer deux 1.

0 votes

Si je comprends bien, cela ajoute précisément 0,5 à la moyenne. La moyenne du lancer juste avec les résultats de 2 à 20 (sum[2 à 20] ÷19) est de 11 et 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 donne un total de 220, divisé par 20 donne une moyenne de exactement 11.

20 votes

@doppelgreener, c'est seulement vrai si vous relancez tous les 1. Cependant, la fonctionnalité ne vous permet de relancer qu'une seule fois, il est donc toujours possible d'obtenir un 1 lors de la deuxième relance, ce qui fait baisser un peu la moyenne.

0 votes

@thedarkwanderer, quelles sont les statistiques les plus importantes?

23voto

Réponse :

Probabilités pour exact rouleaux

Les valeurs ci-dessous montrent les chances de chaque rouleau de se produire exactement. J'ai également ajouté les calculs des tirages directs pour fournir une comparaison, et j'ai codé en couleur les colonnes correspondantes.

La colonne indiquant les chances de réussite montre simplement le rapport de deux probabilités. Dans ce cas, la probabilité non-Halfling divisée par la probabilité Halfling montre combien vous avez plus de chances d'obtenir exactement \$x\$ lorsque vous n'êtes pas un Halfling.

En général, vous avez plus de chances d'obtenir les valeurs les plus basses lorsque vous n'êtes pas un halfling, mais pas de beaucoup. Les exceptions sont les valeurs de 1 (vous êtes vraiment Il est peu probable que vous les rouliez) et que vous rouliez de 2 à 5 si vous avez un avantage. Mais sinon, les chances sont généralement comprises entre 0,9 et 1,1, et l'effet n'est donc pas très important.

PDF

Probabilités pour cumulatif rouleaux

Les valeurs ci-dessous indiquent les chances cumulées de chaque jet - c'est-à-dire que la ligne pour Jet = 4 indique les chances d'obtenir au moins un 4 dans les différents scénarios. J'ai également ajouté des calculs de jet direct pour fournir une comparaison, ainsi qu'une colonne sur les probabilités.

CDF


Solution

Calculons \$Pr(X = x)\$ avec un jet direct, avec avantage, et avec désavantage.

Rouleau droit

Si vous obtenez un résultat de 2 à 20 dollars, vous devez le garder. Mais si vous obtenez un \$1$$, vous le relancez et gardez le second résultat. Le second résultat est un \$$$. \frac 1}{20}\$ de se produire, mais se ramifie en \N{20}\$ autres possibilités tout aussi probables. Cela signifie que si l'on veut obtenir un résultat spécifique de x, les chances sont :

\begin {alignement*} Pr(X = x) = \frac {1}{20} + ( \frac {1}{20} \times \frac {1}{20}) = \frac {21}{400} = 5.25\%\ \end {align*}

Mais pour obtenir un million de dollars, tu dois obtenir deux millions de dollars :

\begin {alignement*} Pr(X = x) = \frac {1}{20} \times \frac {1}{20} = \frac {1}{400} = 0.25\%\ \end {align*}

Avec avantage

Il y a beaucoup de sous-cas ici que nous devons passer en revue. Imaginons que nous voulions lancer une carte à 10 chiffres exactement :

  • Si vous obtenez un \N10$$$ sur le premier dé, et que no un \$1\$ ou un \$10\$ ou plus sur le second (et comptez ceci deux fois, par symétrie) ;

  • Si vous obtenez 10$ sur les deux dés ;

  • Si vous obtenez un 1/1 sur le premier dé, et que no un \N1$$ ou un \N10$$ ou plus sur le second, y vous obtenez un \$10\$ sur la relance (et comptez cela deux fois, par symétrie) ;

  • Si vous obtenez un 1/1 sur les deux dés, et un 10 sur le nouveau jet ;

  • Si vous obtenez 10$ sur le premier dé, 1$ sur le second, y vous obtenez un résultat de 10$ ou moins lors du relancement (et comptez ce résultat deux fois, par symétrie).

Les probabilités sont (avec les termes dans l'ordre de ce qui précède) :

\begin {alignement*} Pr(X = 10) = (2 \times \frac {1}{20} \times \frac {8}{20}) + ( \frac {1}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {8}{20} \times \frac {1}{20}) + ( \frac {1}{20} \times \frac {1}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {1}{20} \times \frac {10}{20}) \end {align*} \begin {alignement*} Pr(X = 10) = \frac {377}{8000} = 4.7125\% \end {align*}

Si vous pouvez repérer le modèle ci-dessus, nous pouvons le généraliser comme suit :

\begin {alignement*} Pr(X = x) = (2 \times \frac {1}{20} \times \frac {x-2}{20}) + ( \frac {1}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {x-2}{20} \times \frac {1}{20}) + ( \frac {1}{20} \times \frac {1}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {1}{20} \times \frac {x}{20}) \end {align*} \begin {alignement*} Pr(X = x) = \frac {21 \times (x-2)}{4000} + \frac {x}{4000} + \frac {21}{8000} \end {align*}

Où \$$x\$ est le nombre que l'on veut lancer. exactement .

Notez que la probabilité pour \$Pr(X = 1)\$ est dérivée ici différemment. Vous devez obtenir un 1 sur les trois jets pour que cela se produise, ou.. :

\begin {alignement*} Pr(X = 1) = \frac {1}{20} \times \frac {1}{20} \times \frac {1}{20} = \frac {1}{8000} = 0.0125\% \end {align*}

Avec désavantage

Une fois de plus, nous avons quelques sous-cas lors d'un jet de désavantage. Encore une fois, lançons un \$10\$. exactement :

  • Si vous obtenez un \N10$$$ sur le premier dé, et que no un \$10\$ ou moins sur le second (et comptez ceci deux fois, par symétrie) ;

  • Si vous obtenez 10$ sur les deux dés ;

  • Si vous obtenez un 1/1 sur le premier dé, et que no un \N10$ ou moins sur le second, y un \$10\$ sur le re-roll (et comptez-le deux fois, par symétrie) ;

  • Si vous obtenez un 1/10 sur le premier dé, un 10/10 sur le second et un 10/10 ou plus sur le nouveau dé (et comptez deux fois, par symétrie) ;

Les probabilités sont (avec les termes dans l'ordre de ce qui précède) :

\begin {alignement*} Pr(X = 10) = (2 \times \frac {1}{20} \times \frac {10}{20}) + ( \frac {1}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {10}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {1}{20} \times \frac {11}{20}) \end {align*}

Et une fois de plus, pour repérer le modèle, nous avons :

\begin {alignement*} Pr(X = x) = (2 \times \frac {1}{20} \times \frac {20-x}{20}) + ( \frac {1}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {20-x}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {1}{20} \times \frac {21-x}{20}) \end {align*}

Et simplifié :

\begin {alignement*} Pr(X = x) = \frac {21 \times (20-x)}{4000} + \frac {21-x}{4000} + \frac {1}{400} \end {align*}

Où \$$x\$ est le nombre que l'on veut lancer. exactement .

Encore une fois, la probabilité d'obtenir un "1" est différente. Vous obtenez un \N1$$$ :

  • Si le premier et le second dé donnent tous les deux \N1$$$ ;

  • Si le premier dé donne \N1\N$, et no le deuxième dé, y la relance est de \N1\N$ (et comptez ceci deux fois, par symétrie).

Ce qui revient à dire :

\begin {align*} Pr(X = 1) = ( \frac {1}{20} \times \frac {1}{20}) + (2 \times \frac {1}{20} \times \frac {19}{20} \times \frac {1}{20}) = \frac {29}{4000} = 0.725\% \end {align*}


Maintenant que nous avons toutes les formules de \$x\$ pour n'importe quelle valeur du d20, nous pouvons les tabuler. Toutes les valeurs ci-dessous sont des valeurs exactes.

\begin {array}{|c|c|} \hline \text {Roll} & \text {Avantage} & \text {Rouleau droit} & \text {Désavantage} \\ \hline 1 & 0.0125\% & 0.25\% & 0.725\% \\ \hline 2 & 0.3125\% & 5.25\% & 10.175\% \\ \hline 3 & 0.8625\% & 5.25\% & 9.625\% \\ \hline 4 & 1.4125\% & 5.25\% & 9.075\% \\ \hline 5 & 1.9625\% & 5.25\% & 8.525\% \\ \hline 6 & 2.5125\% & 5.25\% & 7.975\% \\ \hline 7 & 3.0625\% & 5.25\% & 7.425\% \\ \hline 8 & 3.6125\% & 5.25\% & 6.875\% \\ \hline 9 & 4.1625\% & 5.25\% & 6.325\% \\ \hline 10 & 4.7125\% & 5.25\% & 5.775\% \\ \hline 11 & 5.2625\% & 5.25\% & 5.225\% \\ \hline 12 & 5.8125\% & 5.25\% & 4.675\% \\ \hline 13 & 6.3625\% & 5.25\% & 4.125\% \\ \hline 14 & 6.9125\% & 5.25\% & 3.575\% \\ \hline 15 & 7.4625\% & 5.25\% & 3.025\% \\ \hline 16 & 8.0125\% & 5.25\% & 2.475\% \\ \hline 17 & 8.5625\% & 5.25\% & 1.925\% \\ \hline 18 & 9.1125\% & 5.25\% & 1.375\% \\ \hline 19 & 9.6625\% & 5.25\% & 0.825\% \\ \hline 20 & 10.2125\% & 5.25\% & 0.275\% \\ \hline \end {array}

Et la distribution cumulative pour rouler au moins \$x\$. Toutes les valeurs ci-dessous sont des valeurs exactes.

\begin {array}{|c|c|} \hline & \text {Avantage} & \text {Rouleau droit} & \text {Désavantage} \\ \hline 1 & 1 & 1 & 1 \\ \hline 2 & 0.999875 & 0.9975 & 0.99275 \\ \hline 3 & 0.99675 & 0.945 & 0.891 \\ \hline 4 & 0.988125 & 0.8925 & 0.79475 \\ \hline 5 & 0.974 & 0.84 & 0.704 \\ \hline 6 & 0.954375 & 0.7875 & 0.61875 \\ \hline 7 & 0.92925 & 0.735 & 0.539 \\ \hline 8 & 0.898625 & 0.6825 & 0.46475 \\ \hline 9 & 0.8625 & 0.63 & 0.396 \\ \hline 10 & 0.820875 & 0.5775 & 0.33275 \\ \hline 11 & 0.77375 & 0.525 & 0.275 \\ \hline 12 & 0.721125 & 0.4725 & 0.22275 \\ \hline 13 & 0.663 & 0.42 & 0.176 \\ \hline 14 & 0.599375 & 0.3675 & 0.13475 \\ \hline 15 & 0.53025 & 0.315 & 0.099 \\ \hline 16 & 0.455625 & 0.2625 & 0.06875 \\ \hline 17 & 0.3755 & 0.21 & 0.044 \\ \hline 18 & 0.289875 & 0.1575 & 0.02475 \\ \hline 19 & 0.19875 & 0.105 & 0.011 \\ \hline 20 & 0.102125 & 0.0525 & 0.00275 \\ \hline \end {array}

1 votes

Halfling/Non génère une valeur plus jolie au moins pour "rouleau droit" que non/moitié.

0 votes

@Yakk Je pense que les valeurs Non/Halfling exagèrent mieux les différences aux valeurs plus basses, donc j'ai choisi cette voie.

5 votes

Tu es complètement fou, mais de la meilleure façon possible

14voto

Chemus Points 11434

En utilisant ce programme Anydice, les calculs statistiques d'Anydice montrent que votre chance de tirer un 1 sur un d20 (puisque vous pouvez relancer un 1 sur la plupart des jets) est réduite à 0,25 % et votre chance de tirer n'importe quel autre nombre sur ce lancer augmente de 0,25 %, passant de 5 % à 5,25 % (la chance de tirer un 1 est répartie uniformément sur les 20 nombres lors de la relance).

Avec l'avantage, vous avez presque aucune chance de tirer 1 en tant que nombre le plus élevé, et avec le désavantage, votre chance de tirer 1 en tant que nombre le plus bas est nettement réduite. L'avantage passe de 0,25 % à 0,0125 % de chance d'obtenir un résultat de 1, et la chance d'obtenir un 1 avec un désavantage est réduite de 9,75 % à 0,725 %.

Les autres résultats avec l'avantage et le désavantage changent également. À partir du panneau Export de la sortie Normal du programme Anydice, voici les chances d'obtenir chaque résultat possible :

Avantage

\begin{array}{|c|c|}\hline \ & \text{Normal} & \text{Chance} & \\ \ \text{Résultat} & \text{% de Chance} & \text{% de Chance} & \text{Différence} \\ \hline 1 & 0,25 & 0,0125 & -0,2375\\ \hline 2 & 0,75 & 0,3125 & -0,4375\\ \hline 3 & 1,25 & 0,8625 & -0,3875\\ \hline 4 & 1,75 & 1,4125 & -0,3375\\ \hline 5 & 2,25 & 1,9625 & -0,2875\\ \hline 6 & 2,75 & 2,5125 & -0,2375\\ \hline 7 & 3,25 & 3,0625 & -0,1875\\ \hline 8 & 3,75 & 3,6125 & -0,1375\\ \hline 9 & 4,25 & 4,1625 & -0,0875\\ \hline 10 & 4,75 & 4,7125 & -0,0375\\ \hline 11 & 5,25 & 5,2625 & 0,0125\\ \hline 12 & 5,75 & 5,8125 & 0,0625\\ \hline 13 & 6,25 & 6,3625 & 0,1125\\ \hline 14 & 6,75 & 6,9125 & 0,1625\\ \hline 15 & 7,25 & 7,4625 & 0,2125\\ \hline 16 & 7,75 & 8,0125 & 0,2625\\ \hline 17 & 8,25 & 8,5625 & 0,3125\\ \hline 18 & 8,75 & 9,1125 & 0,3625\\ \hline 19 & 9,25 & 9,6625 & 0,4125\\ \hline 20 & 9,75 & 10,2125 & 0,4625\\ \hline \end{array}

Désavantage

\begin{array}{|c|c|}\hline \ & \text{Normal} & \text{Chance} & \\ \ \text{Résultat} & \text{% de Chance} & \text{% de Chance} & \text{Différence} \\ \hline 1 & 9,75 & 0,725 & -9,025\\ \hline 2 & 9,25 & 10,175 & 0,925\\ \hline 3 & 8,75 & 9,625 & 0,875\\ \hline 4 & 8,25 & 9,075 & 0,825\\ \hline 5 & 7,75 & 8,525 & 0,775\\ \hline 6 & 7,25 & 7,975 & 0,725\\ \hline 7 & 6,75 & 7,425 & 0,675\\ \hline 8 & 6,25 & 6,875 & 0,625\\ \hline 9 & 5,75 & 6,325 & 0,575\\ \hline 10 & 5,25 & 5,775 & 0,525\\ \hline 11 & 4,75 & 5,225 & 0,475\\ \hline 12 & 4,25 & 4,675 & 0,425\\ \hline 13 & 3,75 & 4,125 & 0,375\\ \hline 14 & 3,25 & 3,575 & 0,325\\ \hline 15 & 2,75 & 3,025 & 0,275\\ \hline 16 & 2,25 & 2,475 & 0,225\\ \hline 17 & 1,75 & 1,925 & 0,175\\ \hline 18 & 1,25 & 1,375 & 0,125\\ \hline 19 & 0,75 & 0,825 & 0,075\\ \hline 20 & 0,25 & 0,275 & 0,025\\ \hline \end{array}

Comme vous pouvez le constater, les chances d'obtenir moins de 11 diminuent légèrement avec l'Avantage Chanceux, et alors que les résultats individuellement bas augmentent avec le désavantage, même la chance d'obtenir un 20 est marginalement augmentée via le Désavantage Chanceux.


Programme utilisé :

function: reroll R:n under N:n {
   if R < N { result: 1d20 } else {result: R}
}

function: rerolladv ONE:n and TWO:n under N:n {
   if ONE < N {
result: [highest of 1d20 and TWO]
   } 
else if TWO < N {
result: [highest of ONE and 1d20]
}
else {
 result: [highest of ONE and TWO]
}
}

function: rerolldis ONE:n and TWO:n under N:n {
   if ONE < N {
result: [lowest of 1d20 and TWO]
   } 
else if TWO < N {
result: [lowest of ONE and 1d20]
}
else {
 result: [lowest of ONE and TWO]
}
}

CHANCE: [reroll 1d20 under 2]
AVANTAGE_CHANCEUX: [rerolladv 1d20 and 1d20 under 2]
DES_CHANCEUX: [rerolldis 1d20 and 1d20 under 2]
output 1d20 named "Normal 1d20"
output CHANCE named "Lucky 1d20"
output [highest 1 of 2d20] named "Normal Advantage"
output AVANTAGE_CHANCEUX named "Lucky Advantage"
output [lowest 1 of 2d20] named "Normal Disadvantage"
output DES_CHANCEUX named "Lucky Disadvantage"

8voto

Dale M Points 183702

Bonnes réponses: mauvaise question

De nombreuses bonnes réponses ici mais elles passent à côté du point sur la Chance des Halfelins. La vraie question n'est pas comment cela affecte la distribution du dé mais combien de fois cela transforme un échec en réussite. Peu importe vraiment si la Chance des Halfelins transforme votre 1 en un 7 si un 7 est toujours un échec.

Méthodologie

Ce qui est crucial est le nombre cible - le nombre réel que vous devez obtenir égal ou supérieur sur le dé pour réussir. Cela peut être calculé à partir de l'AC ou du DC en soustrayant votre bonus à ce nombre parce que +7 pour toucher un AC de 17 est la même chose que +0 pour toucher un AC de 10.

En utilisant cette technique très élégante d'Ilmari Karonen nous pouvons construire un dé de réussite dans anydice pour chaque nombre cible de 1 à 20 pour à la fois les jets de sauvegarde/compétences et les attaques (puisque les attaques ont des échecs automatiques et des réussites critiques, ils doivent être traités différemment).

Jets de Sauvegarde et Compétences

loop TARGET over {1..20} {

  FAIL: [le plus bas entre 20 et [le plus haut entre 0 et TARGET-1]]
  SUCCESS: [le plus bas entre 20 et [le plus haut entre 0 et 21-TARGET]]

  SAVE: {0:FAIL, 1:SUCCESS}
  HALFLINGSAVE: {SAVE, 0: 20*(FAIL-1), 1: 20*SUCCESS}

  sortie dSAVE nommée "Normal: [TARGET]"
  sortie dHALFLINGSAVE nommée "Halfling: [TARGET]"
}

Implémenté ici.

Ce que cela fait est construire pour le jet de sauvegarde normal un dé à 20 faces qui n'a pas les nombres de 1 à 20 dessus mais plutôt un nombre de 0 et de 1 (échecs & réussites) contre chaque nombre cible. Le jet de sauvegarde des halfelins utilise ce dé pour créer un dé à 400 faces (\$20\times20\$) pour représenter le relance.

Il y a une relation linéaire très simple en termes absolus entre la chance accrue que la Chance des Halfelins vous donne pour la plage de 2 à 20 (à 1 cela ne fait aucune différence puisque vous passerez toujours) :

$$\text{Augmentation}=0,0525-0,0025\times\text{Cible}$$

C'est-à-dire, plus la tâche est difficile, moins elle vous bénéficie. C'est l'augmentation directe de votre chance de réussir.

Cependant, en termes relatifs un Halfelin a 1,05 fois la chance de quiconque d'autre.

Attaques

loop TARGET over {1..20} {

  FAIL: [le plus bas entre 19 et [le plus haut entre 0 et TARGET-1]]
  SUCCESS: [le plus bas entre 19 et [le plus haut entre 0 et 21-TARGET]]

  ATTAQUE: {0, 0:[le plus haut entre 0 et FAIL-1], 1:[le plus haut entre 0 et SUCCESS-1], 2}
  HALFLINGATTAQUE: {ATTAQUE, 0:20*[le plus haut entre 0 et FAIL-1], 1:20*[le plus haut entre 0 et SUCCESS-1], 2:20}

  sortie dATTAQUE nommée "Normal: [TARGET]"
  sortie dHALFLINGATTAQUE nommée "Halfling: [TARGET]"
}

Implémenté ici.

Similaire au paragraphe précédent, sauf que nous nous assurons qu'il y a toujours un échec (représentant un 1) et introduisons un 2 pour représenter un coup critique.

Il n'est pas surprenant que les résultats soient très similaires. Il y a une augmentation directe de \$0,0025\$ de la chance de coup critique (de 0,05 à 0,0525) et la formule pour la plage de 2 à 20 pour les coups normaux est :

$$\text{Augmentation}=0,05-0,0025\times\text{Cible}$$

Si vous ajoutez de nouveau les coups critiques, la formule est exactement la même que pour les sauvegardes/compétences.

L'amélioration relative est toujours de 1,05 (pour les coups normaux et critiques).

1voto

A.B. Points 1683

La Chance du Halfelin, en moyenne, augmente votre lancer de d20 de 0,47 pour les lancers normaux, 0,620 pour les lancers avec désavantage, et 0,308 pour les lancers avec avantage.

Avis de non-responsabilité : Bien que je n'aie jamais joué à D&D, je suis souvent sur rpg.se parce que le jeu en lui-même m'intéresse, bien que je n'aie jamais eu la chance d'y jouer... Merci markovchain de m'avoir aidé à mieux comprendre les règles de base.

En utilisant un script Python rapide et simple que j'ai créé, voici mes résultats :

~~~~~Lancers Normaux~~~~~

Nombre total de lancers : 1000000
Nombre total de relances : 50201
Pourcentage de relances par rapport au nombre total de lancers :
0,050201
Valeur moyenne d'un dé pour tous les lancers sans la Chance du Halfelin :
10,505604
Valeur moyenne d'un dé pour tous les lancers avec la Chance du Halfelin :
10,983658
Différence de valeurs : 
0,478054

~~~~~Lancers avec Avantage/Désavantage~~~~~

Nombre total de paires lancées : 1000000
Nombre total de relances : 97346
Nombre total de lancers de dés (paires plus relances) : 1097346
Pourcentage de relances par rapport au nombre total de paires lancées :
0,097346
Valeur moyenne d'un dé de désavantage pour toutes les paires lancées sans la Chance du Halfelin :
7,181028
Valeur moyenne d'un dé de désavantage pour toutes les paires lancées avec la Chance du Halfelin :
7,801206
Valeur moyenne d'un dé d'avantage pour toutes les paires lancées sans la Chance du Halfelin :
13,831522
Valeur moyenne d'un dé d'avantage pour toutes les paires lancées avec la Chance du Halfelin :
14,139669
Différence de valeurs entre les dés de désavantage avec la Chance du Halfelin à cause de [1][1] par rapport à sans la Chance du Halfelin : 
0,620178
Différence de valeurs entre les dés d'avantage avec la Chance du Halfelin à cause de [1][1] par rapport à sans la Chance du Halfelin : 
0,308147

Voici mon script. Je m'excuse pour mes noms de variables :

from random import randint
import numpy as np

fin = 1000000

# Lancers normaux

a = np.zeros(20)
areroll = np.zeros(20)
moyenne = 0
moyennereroll = 0
nombredererolls = 0

for i in range(0, fin):
    x = randint(1, 20)
    a[x - 1] = a[x - 1] + 1
    if x is 1:
        x = randint(1, 20)
        nombredererolls = nombredererolls + 1
    areroll[x - 1] = areroll[x - 1] + 1

for q in range(1, 21):
    moyenne = moyenne + (q * a[q - 1])

for q in range(1, 21):
    moyennereroll = moyennereroll + (q * areroll[q - 1])

print("~~~~~Lancers Normaux~~~~~")
print()
print("Nombre total de lancers : %d" % fin)
print("Nombre total de relances : %d" % nombredererolls)
print("Pourcentage de relances par rapport au nombre total de lancers :")
print(nombredererolls / fin)
print("Valeur moyenne d'un dé pour tous les lancers sans la Chance du Halfelin :")
print(moyenne / fin)
print("Valeur moyenne d'un dé pour tous les lancers avec la Chance du Halfelin :")
print(moyennereroll / fin)
print("Différence de valeurs : ")
print((moyennereroll / fin) - (moyenne / fin))

# Lancers avec Avantage/Désavantage

desavantage = np.zeros(20)
avantage = np.zeros(20)
desavantagewithrerolls = np.zeros(20)
avantagewithrerolls = np.zeros(20)
nombredererolls = 0
moyennea = 0
moyenned = 0
moyennear = 0
moyennedar = 0

for i in range(0, fin):
    x = randint(1, 20)
    y = randint(1, 20)
    if x is 1 and y is 1:
        z = randint(1, 20)
        nombredererolls = nombredererolls + 1
        desavantagewithrerolls[x - 1] = desavantagewithrerolls[x - 1] + 1
        avantagewithrerolls[z - 1] = avantagewithrerolls[z - 1] + 1
        desavantage[x - 1] = desavantage[x - 1] + 1
        avantage[x - 1] = avantage[x - 1] + 1
    else:
        if x is y:
            desavantage[x - 1] = desavantage[x - 1] + 1
            avantage[x - 1] = avantage[x - 1] + 1
            desavantagewithrerolls[x - 1] = desavantagewithrerolls[x - 1] + 1
            avantagewithrerolls[x - 1] = avantagewithrerolls[x - 1] + 1
        elif x is 1:
            z = randint(1, 20)
            nombredererolls = nombredererolls + 1
            if z > y:
                avantagewithrerolls[z - 1] = avantagewithrerolls[z - 1] + 1
                desavantagewithrerolls[y - 1] = desavantagewithrerolls[y - 1] + 1
            else:
                avantagewithrerolls[y - 1] = avantagewithrerolls[y - 1] + 1
                desavantagewithrerolls[z - 1] = desavantagewithrerolls[z - 1] + 1
            desavantage[x - 1] = desavantage[x - 1] + 1
            avantage[y - 1] = avantage[y - 1] + 1
        elif y is 1:
            z = randint(1, 20)
            nombredererolls = nombredererolls + 1
            if z > x:
                avantagewithrerolls[z - 1] = avantagewithrerolls[z - 1] + 1
                desavantagewithrerolls[x - 1] = desavantagewithrerolls[x - 1] + 1
            else:
                avantagewithrerolls[x - 1] = avantagewithrerolls[x - 1] + 1
                desavantagewithrerolls[z - 1] = desavantagewithrerolls[z - 1] + 1
            desavantage[y - 1] = desavantage[y - 1] + 1
            avantage[x - 1] = avantage[x - 1] + 1
        elif x < y:
            desavantage[x - 1] = desavantage[x - 1] + 1
            avantage[y - 1] = avantage[y - 1] + 1
            desavantagewithrerolls[x - 1] = desavantagewithrerolls[x - 1] + 1
            avantagewithrerolls[y - 1] = avantagewithrerolls[y - 1] + 1
        else:
            desavantage[y - 1] = desavantage[y - 1] + 1
            avantage[x - 1] = avantage[x - 1] + 1
            desavantagewithrerolls[y - 1] = desavantagewithrerolls[y - 1] + 1
            avantagewithrerolls[x - 1] = avantagewithrerolls[x - 1] + 1

for q in range(1, 21):
    moyenned = moyenned + (q * desavantage[q - 1])
    moyennea = moyennea + (q * avantage[q - 1])
    moyennedar = moyennedar + (q * desavantagewithrerolls[q - 1])
    moyennear = moyennear + (q * avantagewithrerolls[q - 1])

d = moyenned / fin
dr = moyennedar / fin
a = moyennea / fin
ar = moyennear / fin

print()
print("~~~~~Lancers avec Avantage/Désavantage~~~~~")
print()
print("Nombre total de paires lancées : %d" % fin)
print("Nombre total de relances : %d" % nombredererolls)
print("Nombre total de lancers de dés (paires plus relances) : %d" % (nombredererolls + fin))
print("Pourcentage de relances par rapport au nombre total de paires lancées :")
print(nombredererolls / fin)
print("Valeur moyenne d'un dé de désavantage pour toutes les paires lancées sans la Chance du Halfelin :")
print(d)
print("Valeur moyenne d'un dé de désavantage pour toutes les paires lancées avec la Chance du Halfelin :")
print(dr)
print("Valeur moyenne d'un dé d'avantage pour toutes les paires lancées sans la Chance du Halfelin :")
print(a)
print("Valeur moyenne d'un dé d'avantage pour toutes les paires lancées avec la Chance du Halfelin :")
print(ar)
print("Différence de valeurs entre les dés de désavantage avec la Chance du Halfelin vs sans la Chance du Halfelin : ")
print(dr - d)
print("Différence de valeurs entre les dés d'avantage avec la Chance du Halfelin vs sans la Chance du Halfelin : ")
print(ar - a)

Un trait qui vous permet de relancer un dé, du moins parfois, est, à mon avis, toujours une bonne chose à posséder, même si en moyenne les résultats ne sont pas drastiques. Relancer un échec garanti et obtenir un résultat réussi est toujours amusant en jeu de rôle.

0 votes

Aussi, bienvenue sur RPG.SE, et merci de participer! J'adore obtenir différentes solutions grâce à différentes méthodes pour résoudre le même problème. Cela montre vraiment l'étendue et la profondeur que l'on peut avoir avec un simple mécanisme de D&D. Merci de faire le tour si ce n'est pas déjà fait, et j'ai hâte de voir vos mises à jour sur cette réponse!

0 votes

@markovchain merci d'avoir pris le temps de me transmettre une partie de tes connaissances sur le jeu. J'ai mis à jour le script en fonction de tes explications des règles et les résultats concordent maintenant avec d'autres réponses. Se plonger dans les mécaniques de jeu comme cela me rend encore plus impatient de jouer ma première partie de d&d, dès que ce sera possible :)

0 votes

Heureux d'avoir aidé, et bonne réponse! J'ai supprimé mes commentaires car ils sont désormais obsolètes. Si vous cherchez un jeu de D&D mais que vous ne savez pas où chercher, il y a la Ligue des Aventuriers (si vous en avez une près de chez vous) ou des sites en ligne comme Roll20.net.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X