O que está incorreto em minha lógica Anydice para a mecânica de rolagem de 'Armas dos Deuses'?

3

Enquanto analisava as pesquisas do Actual Play, encontrei uma referência para uma interessante mecânica de rolagem de dados.

For a test, players roll a pool (3-7) of d10 (but 0..9 not 1..10). The value coming out the most (and the highest one among these) becomes the result's ones digit. The number of dice showing that value: it's tens digit. So (1, 3, 5, 5, 5, 7, 7) results in 35 (three fives).

(não consigo encontrar uma citação RAW, minha própria interpretação da interpretação de outra pessoa)

Eu imediatamente quis ver como seria a curva de distribuição dos resultados. Meu código Anydice para isso:

DICE: {0..9}

function: weapon ROLL:s {
  NUM: [maximum of ROLL]

  SUM: 10 + NUM

  loop I over DICE{
    B: [count I in ROLL]
    I_ROLL: 10*B + I
    if B > 0 & I_ROLL >= SUM {
      SUM: I_ROLL 
   }
 }
  result: SUM
}

N: 4
output [weapon NdDICE] named "Weapon of the Gods [N]D10"

Meu problema é: a distribuição mostra diferentes porcentagens de probabilidade para resultados que eu achava que deveriam ser o mesmo. Por exemplo, para N = 4 (rolamento 4d10), mostra 41 (quatro) sair 0,57% do tempo, enquanto 45 (quatro cinco) - 0,05%.

O que há de errado com o meu código Anydice, ou, inversamente, com o meu entendimento do mecânico (existe uma razão para que os dados sejam estatisticamente mais prováveis do que cinco)?

    
por Nox 28.01.2016 / 15:29

1 resposta

Você está usando este código para configurar um valor base:

NUM: [maximum of ROLL]

SUM: 10 + NUM

Sua intenção é obter o maior número possível em qualquer d10, mas a função maximum espera dados e você forneceu uma sequência. Segundo a documentação:

If a number is provided, then it will be converted to a die that can roll only that number. If a sequence is provided, then the sequence will be summed and treated the same as a number.

Acredito que a inicialização de SUM para 0 seja suficiente, já que seu loop sempre deve encontrar algo maior que 0.

    
28.01.2016 / 16:35

Tags