Como posso rolar vários dados não digitais para obter um número aleatório entre 1 e 150?

20

Esta questão não está realmente relacionada aos RPGs, mas é mais um cenário de rolagem de dados do mundo real em que estou procurando ajuda, de especialistas em rolagem de dados.

Atualmente, estou memorizando o Livro dos Salmos, dividido em capítulos do 150.

Estou procurando uma maneira analógica e elegante de questionar a mim mesmo, rolando alguns dados (ou qualquer outro meio, realmente, apenas nada digital) para obter um número aleatório (igualmente provável) de 1 a 150.

Não estando muito ciente do mundo dos dados, começo a pesquisar no Google, começando com "Dados do lado 150" ... o que obviamente faria o truque de uma só vez.

Não demorou muito para eu perceber que existem apenas tantas formas 3D que se prestam a ser dados, com os dados laterais 120 sendo o maior (e com uma aparência bastante ridícula) que eu pude encontrar.

Então será uma combinação de coisas. Uma solução que pensei até agora seria um d30 e um d5. Eu subtrairia um do d5 e multiplicaria esse número por 30, resultando em 0,30,60,90,120. Eu simplesmente adicionaria o valor do d30.

Espero que esse exemplo lhe dê uma idéia do que estou tentando realizar. Peço desculpas antecipadamente se estou latindo na árvore errada e esta pergunta não pertence. Nesse caso, vou editar minha pergunta "Um personagem no meu RPG está memorizando o Livro dos Salmos ..." :)

por Greg Jenkins 30.04.2019 / 22:09

13 respostas

Use um "d50" e um "d3" - que são 2d10 e 1d6

Você rola o 2d10 para compor sua dados percentuais ou 1-100.
Divida o resultado por dois (arredondar para cima) para torná-lo 1-50. (Se os dados estiverem marcados 0-9, 00 = 100).

Você rola o 1d6 para determinar o deslocamento: {1, 2} = 0, {3, 4} = + 50, {5, 6} = + 100.

O resultado é 1-50, 51-100, 101-150.

Por seu comentário, você precisa comprar dados. Compre dois dados de dez lados e use um único dado do tipo 6.

  • Sugiro que cada um dos dados de dez lados tenha uma cor diferente: digamos vermelho e verde. Vermelho para dezenas, verde para outras. Rolar um 3 vermelho e um 7 verde produz o 37. Divida por dois (arredondar para cima) para um 19. (ou 69 ou 119).
  • Se a loja de jogos (ou outro fornecedor) vender dados de dez lados com os nomes 10, 20, 30 ..., bem como 1, 2, 3, ... então o código de cores não será necessário. Obrigado @MrZarq

Boa sorte.

30.04.2019 / 22:17

O método mais simples é rolar dois dados: um dado para o local "uns" e outro para gerar 0 – 15 para o local "dezenas". Isso é rápido, fácil de ler, portátil e não requer cálculos mentais. Você pode fazer isso com um par de dados disponíveis: uma matriz do lado 15 e um dado de dez lados (o último geralmente numerado 0 – 9).

Marque o “15” no d15 como zero: com um marcador, você pode desenhar um zero sobre ele ou ocultar números brancos, para lembrá-lo de que esse rosto significa um zero no lugar das “dezenas”. (Ou, se for mais fácil, lembre-se sempre de ler “15” como zero.)

Em seguida, role e leia-os em ordem:

  • O d15 mostra o 7 e o d10 mostra o 1 fornece o 71.
  • O d15 mostra o 4 e o d10 mostra o 0 fornece o 40.
  • O d15 mostra o 0 (a face apagada) e o d10 mostra o 1 fornece o 1.
  • O d15 mostra o 14 e o d10 mostra o 9 fornece o 149.

Esse padrão é válido, exceto pelo resultado zero em ambos os dados: leia-o como 150, que, caso contrário, não será exibido literalmente se você tiver marcado o d15. (Isso é semelhante a como um par de d10s marcado 0-9 é tradicionalmente lido para rodar 1-100: eles são lidos literalmente para 00-99, mas quando dois zeros aparecem, isso é lido como 100, completando o intervalo.)

30.04.2019 / 22:36

Role um D20 e D10, rolar novamente os resultados no 150

A solução mais simples para quando você não tem uma matriz do tamanho certo é usar uma matriz mais alta que existe e eliminar resultados muito altos.

Não é a solução mais elegante, mas uma maneira de gerar resultados muito fáceis de interpretar para o 1-150 sem exigir dados particularmente incomuns é obter um d20 e um d10. Como dados de rpg muito comuns, eles devem ser fáceis de encontrar na maioria das lojas de jogos (geralmente há pequenas caixas de dados únicos de vários tamanhos). Na minha área, eles custam cerca de um dólar cada.

Role d20 para determinar os dois primeiros dígitos (centenas e dezenas) e o d10 para o último dígito. Contar 20 como 0 (isto é para que você possa gerar números abaixo de 10). Isso irá gerar resultados do 0-199. reroll resulta para o qual não existe salmo (o que geralmente significa apenas rolar novamente o d20, o d10 somente se você terminar com "salmo zero").

Mais uma vez, não é a solução mais elegante, mas exige muito pouco esforço para interpretar os resultados, um investimento de $ 1.50- $ 3 ou menos, uma viagem a basicamente qualquer lugar onde materiais finos de rpg são vendidos e rolar novamente um dado por um quarto de tempo.

Alguns d10s estão marcados 0-9 e outros 00-90. A vida será mais fácil se você comprar o anterior.

Obviamente, se você é mais inclinado matematicamente, existem inúmeras outras respostas que são muito mais inteligentes aqui e que não envolvem rerolls.

01.05.2019 / 17:36

Não se preocupe com essas coisas bobas de plástico e use a internet *

Você pode usar sites como anydice.com para rolar dados virtuais, isso dará o mesmo efeito e você não precisará se preocupar com dados reais.

Aqui está um exemplo de como eu configuro o anydice para permitir que você role 1d150s e gere um resultado

insira a descrição da imagem aqui

Você mencionou ironicamente em sua pergunta sobre o "cenário do mundo real" e não tenho certeza se isso significava que você tinha dados físicos ou não. Anydice (ou sites semelhantes) pode ser acessado a partir de celulares, PCs desktop e afins.


* Título publicado para efeito cômico, eu amo dados reais.

01.05.2019 / 13:39

Role de 1 para 600 e enrole.

(... ou de 0 para 599, ou de 100 para 699, ou de 101 para 700, ou qualquer outra coisa. Não faz diferença.)

Provavelmente, a maneira mais simples de fazer isso é rolar um d6 para o primeiro dígito e um d100 (normalmente representado nos conjuntos de dados RPG como um par de d10s, um numerado 0 – 9 e o outro nas etapas de 10 de 00 para 90) por os dois últimos dígitos (contando um zero duplo no d100 como 00, não como 100). Feito em linha reta, isso fornece um número de 100 a 699, o que é bom.

(Você também pode interpretar o 6 no d6 como um zero, fornecendo um número de 0 a 599, o que também é bom. Ou também interpretar um rolo de 6,0,0 como 600 em vez de 0, fornecendo um resultado de 1 para 600 ou você pode contar um zero duplo no d100 como 100 e adicioná-lo ao d6 × 100, fornecendo um resultado do 101 ao 700 ou do 1 ao 600, dependendo de você contar o 6 no d6 como 0 ou 600. Qualquer um desses métodos também é bom, desde que você decida com antecedência o que fará e o faça de forma consistente. Se você tiver um par de d100 em que os que morrem é numerado 1– 10 e prefere somar as dezenas e as unidades, tudo bem também.)

Em seguida, reduza o módulo de resultado 150. A maneira ingênua de fazer isso seria subtrair repetidamente o 150 do resultado até que seja o 150 ou menos, mas é mais fácil usar o fato de que o 2 × 150 = 300. Portanto, você só precisa reduzir o primeiro dígito em três até que o resultado seja no máximo 300 e subtrair o 150 uma vez se o resultado ainda for maior que o 150.

(Se o método de rolagem que você usou deu a você um zero, adicione 150 a ele. Como não somos programadores e preferimos contar de 1 a 150, em vez de 0 a 149.)

Ps. Matematicamente, a razão pela qual temos tanta latitude na escolha de como rolar o número inicial é porque qualquer método que escolhe um número aleatório distribuído uniformemente de um intervalo contíguo cujo comprimento é múltiplo de \ $ n \ $e, em seguida, agrupa o resultado em vários comprimentos \ $ n \ $, dará um módulo de resultado uniforme \ $ n \ $. Portanto, desde que haja um número possível de dados diferentes do 600 (o que usando um d6 e dois d10s garante), desde que cada rolo distinto produza um número diferente e desde que a diferença entre o número mais alto e o menor possível seja igual ao 600 - 1 = 599 e, em seguida, reduzir o número do módulo assim rolado 150 fornecerá um número aleatório distribuído uniformemente de 1 para 150.

(Ou de 0 a 149, se você é um programador.)

01.05.2019 / 13:50

Se você ainda não possui equipamento de RPG e um cinto de utilidade cheio de dados de formato estranho, poderá resolver o problema com um dado de seis lados padrão:

  • Rolar um número x de 1 para 5. Para fazer isso, role seu dado, mas se você jogar um seis, repita até não o fazer.
  • Role outro número y de 1 para 5.
  • Rolar um número z de 1 para 6

Observe que isso lhe dá \ $ 5 \ times5 \ times6 = 150 \ $ resultados diferentes. Para transformar os resultados em um número no intervalo 1-150, calcule

$$ (x-1) \ times30 + (y-1) \ times6 + z $$

01.05.2019 / 10:17

Semelhante a Resposta de SevenSidedDie para gerar um número para as dezenas e as unidades. Se você quiser resolver isso sem eletricidade ou dados especializados, poderá usar um baralho de cartas.

Para decidir entre 00-10-20-30-40 ... 140, use o Ás ao Rei dos Espaços para representar o 10-130 e o Ace of Clubs para representar o 00 e o 4 dos Clubes para representar o 140.

Para decidir entre 1-2-3-4 ... 9 Use 1 para 10 de copas.

por exemplo

7 de espadas e 4 de copas é 74.
4 de clubes e 9 de copas é 149.
Ace of Clubs e 10 de Copas é 150.

Embaralhe e compre um cartão de cada pilha para obter um número entre 1 e 150.

01.05.2019 / 16:51

Um d30 marcou 1-15 duas vezes e um d10 marcou 0-9

Eu gosto Resposta de SevenSidedDie de um especialista d15 e um d10. Parece que os dados especializados estão disponíveis para todos os valores pares e ímpares do d2 ao d20, e os projetos impressos 3d personalizados até o d30 e além.

No entanto, uma alternativa um pouco mais barata pode ser marcar um d30 com 1-15 duas vezes, usando adesivos ou algo semelhante. A vantagem é que os d30s são mais baratos, mais facilmente disponíveis e é mais provável que você já possua um, talvez seja o mais comum dos dados não-padrão. A desvantagem é que seus adesivos podem ficar sujos ou descascar com o tempo; eles não têm a durabilidade inerente aos dados.

Naturalmente, você leria isso como dados de percentil com o d10 como o segundo dígito, fornecendo um intervalo literal de 10 a 159, com presumivelmente números 151-159 lidos como 1-9. Como você sabe que não há Salmos reais numerados acima do 150 (é claro que ignora os textos apócrifos), esse método garante que você provavelmente não interpretará mal os rolos do 151-159, mantendo assim uma distribuição uniforme.

É possível que alguém 3d imprima um dado real com o lado 150, mas, na minha experiência, quanto mais lados você adicionar ao 1d20, mais perto você se aproxima de um esfera. Você precisa de uma mesa muito longa para que ela pare de rolar e é difícil ler a parte superior com precisão. Mesmo um dado do lado do 60 é impraticável.

01.05.2019 / 19:31

Divida em fatores e role os fatores aleatoriamente.

Você está olhando para rolar com distribuição uniforme da faixa 1-150. Em uma distribuição uniforme com valores exclusivos do 150, cada valor tem uma chance de o 1 / 150 ser selecionado a cada vez.

Para grandes números, a maioria dos entusiastas de jogos de mesa não tem dados com tantos lados. Em vez disso, o grande número é dividido em fatores de tamanhos de dados comuns. A maioria dos dados poliédricos vem com os lados 4, 6, 8, 10, 12 ou 20, por isso ajuda a dividir esses números. E se você não pode dividir igualmente por um desses números, pode dividir por um dos fatores deles e aplicar aritmética modular.

O 150 pode ser fatorado no 6 x 5 x 5. Imagine que você tem seis partições de tamanho 25 cada, começando em zero (0-24, 25-49, 50-74, 75-99, 100-124, 125-149). Em seguida, divida cada partição do tamanho 25 em cinco partições de tamanho 5 cada (0-4, 5-9, 10-14, 15-19, 20-24). Você pode simular um d5 usando o módulo d10 5.

Lance um d6 e dois dados d10. Em seguida, use a fórmula abaixo para obter seu número aleatório:

\ $ 1d150 = \ big ((1d6 \ mod 6) \ times 25 \ big) + \ big ((1d10 \ mod 5) \ times 5 \ big) + (1d10 \ mod 5) \ $

Esta equação fornece a você valores diferentes do 150 distribuídos uniformemente. E essa é a fórmula. Sem rerolls, sem tabelas especiais, sem dados modificadores. É uma lógica semelhante a Resposta de KorvinStarmast, mas simplificado para uma equação de uma linha. Observe que o intervalo é tecnicamente 0-149, portanto, você pode mapear para o intervalo 1-150 adicionando + 1 ou usando 150 em vez de 0.

01.05.2019 / 09:02

Como existe um dado d10 e o último dígito é distribuído uniformemente, podemos ignorá-lo completamente. Assim, o problema passa a gerar números entre o 1-15 usando apenas dados.

O problema aqui é obviamente o 5 na fatoração 3x5, pois ele aparece apenas no d10 e no d20.

Você indicou em um comentário que não deseja fazer matemática mental ou re-rotulações; portanto, pode ser contra a resposta relativamente clara de:

  • tirar 4 * [d4] + [d4] - 4, relançar no 16

o que significa que você só rola a matriz 3 (2d4 e d10) 93% do tempo.

bem como a resposta que exige divisão, por exemplo:

  • pegue 10 * [d6] + [d10] e divida por 4 (arredondamento para cima) ou faça o módulo 15 + 1

o que nunca requer relançamentos.

Infelizmente, qualquer resposta que envolva a adição direta de dados 1..n quebrará irrevogavelmente o requisito de uniformidade. No entanto, se você estiver disposto a adicionar um pouco de artes e ofícios de bricolage (fita adesiva + papel para re-rotular), podemos oferecer uma versão de adição simples que atenda às suas necessidades.

  • crie uma matriz "5 * [d3] - 5" usando um d6 rotulado como [0,0,5,5,10,10]
  • crie uma matriz "[d5]" usando um d10 rotulado como [1,1,2,2,3,3,4,4,5,5]
  • jogue esses dois dados e adicione-os para obter o uniforme [1..15]

Isso pode levar alguns minutos para ser montado, mas você acabaria com o die 3 no bolso e adicionaria apenas um pequeno múltiplo de 5 uma vez para a matemática.

02.05.2019 / 08:49

Role 3 d10s de cores diferentes:

  • Um pelo valor das centenas
  • Um para o valor das dezenas
  • Um pelo valor

Role novamente se o resultado for superior ao 150.

02.05.2019 / 06:39

Use dados de seis lados para rolar três dígitos de um número 6 base, atribuindo o valor 0 a um seis rolado. Três rolos dão três números, a, b e c, cada um entre zero e cinco, inclusive.

Agora calcule $$ m = a \ vezes 36 + b \ vezes 6 + c $$ m será um número entre 0 e 215, inclusive.

Então calcule $$ n = \ mathrm {int} \ left (\ frac {m \ times 150} {216} \ right) $$ Onde int (x) arredonda para o maior número inteiro menor ou igual a x. Isso fornecerá um número inteiro aleatório distribuído uniformemente entre 0 e 149. Adicione 1 para obter 1 no 150.

01.05.2019 / 19:55

Uau ... alguns deles são bem detalhados. Vamos com a menor quantidade de dados necessária para isso. Um dado 6 e um dado 10. Role o d6 procurando par ou ímpar. Como o 1 é ímpar, tornaremos o 0 "par". ou seja, você rola um 4. Par = 0. Este será o seu primeiro dígito. Como é zero, role o d10 duas vezes para os próximos dígitos do 2. ou seja, 4 e 8. Seu número é 048. Se você rolar impar no seu 1st d6, agora o seu primeiro dígito é 1. Como você não pode revisar o 50, role o d6 novamente e subtraia o 1 para o dígito 2nd e, em seguida, o d10 para o terceiro (obviamente ignorando esta última etapa se você rolou um "6", ou seja, 5, para o dígito 2nd).

01.05.2019 / 20:15

Tags