Como faço para que o AnyDice analise o 1d2d4 da maneira que eu quero?

6

A declaração 1d2d4 é ambígua. Eu poderia significar (1d2) d4, que é o que o AnyDice adivinha por padrão, mas eu também posso dizer 1d (2d4). Faz sentido que o comportamento padrão seja como é porque a Ordem de Operações é avaliada da esquerda para a direita, mas parece que não consigo encontrar nenhuma maneira de fazer com que AnyDice me deixe inserir 1d (2d4) . Parênteses não funcionam, resultando na declaração sendo tratada apenas como 2d4, o que é estranho, e se eu escrever 2d(2d4) o programa parece transformar isso em apenas 4d4. Você pode ver meu problema aqui .

O que posso fazer para que o AnyDice entenda que eu quero rolar um único dado de tamanho variável (1d (2d4)) em vez de um número variável de dados de tamanho fixo ((1d2) d4)? E por que os parênteses não funcionam em primeiro lugar?

    
por the dark wanderer 09.02.2017 / 09:37

1 resposta

As respostas para as suas perguntas podem ser encontradas na documentação sobre dados arbitrários.

Besides creating a die based on a single number, you can also create a die based on a sequence, for example d{1,2,4,4}. This allows you to create dice of any shape. It is also possible to explicitly create dice based on another die or collection of dice.

Essencialmente, qualquer dado não faz nada com dados. Para isso, todos os dados são seqüências. Então, quando você dá 1d (2d4), ele vê isso como 1d {2,3,3,4,4,4,5,5,5,5,6,6,6,7,7,8}. O "1d" então seleciona 1 número aleatoriamente daquela sequência, o que equivale a rolar 2d4.

O que você precisa é (como costuma ser o caso com qualquer dado) uma função.

function: roll D:n {
result: dD
}
output [roll 2d4]

Você pode ver os resultados aqui . Se você está se perguntando como essa função funciona quando tudo o que faz é usar o mesmo "d" que você usou, é por causa da maneira como qualquer dado lida com parâmetros de função.

Expecting a number

If a sequence is provided, then the sequence will be summed. If a die is provided, then the function will be invoked for all numbers on the die – or the sums of a collection of dice – and the result will be a new die.

Então, dizendo à função para esperar um número, e dando a ela um dado, ele rola o dado e avalia a função para todos os resultados possíveis individualmente.

Alternativamente, você pode fazer o que qualquer um faz, e apenas descobrir a sequência que contém todos os resultados possíveis - essa abordagem funciona para qualquer coisa que você queira fazer, mas geralmente envolve muito esforço manual tedioso.

    
09.02.2017 / 10:09

Tags