1 votes

Aide au calcul du pool de dés opposés dans AnyDice

J'ai besoin de calculer la probabilité de A gagnant contre B . A et B lancent tous deux 1 à 15 d6, celui qui a le plus de dés réussis (SD) gagne.

Il y a en fait 5 résultats possibles :

  • CF: A's SD < B's SD -3
  • F: A's SD < B's SD
  • DR: A's SD = B's SD
  • S: A's SD > B's SD
  • CF: A's SD > B's SD +3

Un dé peut donner 4 résultats différents :

  • Roll 1: -1 SD
  • Roll 2-3: 0 SD
  • Roll 4-5: +1 SD
  • Roll 6: +2 SD

Je veux voir la probabilité de résultats A dans différentes situations, le nombre de dés pour A et B allant de 1 à 15.

J'ai fait quelque chose dans AnyDice mais en regardant plus loin dans la documentation, je pense que je me suis complètement trompé :

function: singledice DICE:n{
 if DICE = 1 {result : -1 }
 if DICE = 2 {result : 0 }
 if DICE = 3 {result : 0 }
 if DICE = 4 {result : 1 }
 if DICE = 5 {result : 1 }
 if DICE = 6 {result : 2 }
}

function: throw A dices{
 X: 0
 loop N over{1..A}{
   X : X + [singledice d6]
 }
 result: X
}

function: players K and L{
 CF:0
 F:0
 DR:0
 S:0
 CS:0
 loop G over{1..K}{
   loop H over{1..L}{
     C:[throw G dices]-[throw H dices]
     if C < -3 {CF:CF+1}else
     if C < -1 {F:F+1} else
     if C = 0 {DR:DR+1}else
     if C = 1 {S:S+1}else
     if C = 2 {S:S+1}else
     if C > 2 {CS:CS+1}
     }
}
result: {CF, F, DR, S, CS}
}

loop M over{1..15}{
  loop U over{1..15}{
    output [players M and U] named "[M] vs [U]"
  }
}

2voto

chenshap Points 146

Réponse de Jasper Flick, le créateur d'AnyDice : http://anydice.com/program/6268

Voici le code

function: check A:n vs B:n {
 if A < B - 3 { result: -2 } \ CF \
 if A < B { result: -1 } \ F \
 if A > B + 3 { result: 2 } \ CS \
 if A > B { result: 1 } \ S \
 result: 0 \ DR \
}

SD: d{-1, 0:2, 1:2, 2}

loop A over {1..15} {
 A_POOL: AdSD
 loop B over {1..15} {
  output [check A_POOL vs BdSD] named "[A] vs [B]"
 }
}

J'espère que je peux laisser ça ici, il y a quelques astuces qui peuvent être utiles pour d'autres utilisateurs (comme le dé avec des cotes différentes).

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