
Adicionei ao site um simulador de lances de dados na forma de um simples bloco, usando apenas JavaScript e HTML. É um recurso interessante para RPG e experimentações estatísticas.
Para fazer um simulador de dados, é bem simples. O programa mesmo tem apenas 8 linhas, o restante é HTML. A imagem do artigo mostra como fica. Vou deixar disponível esse "brinquedo" aqui no site por uns dias, depois deixo como recurso opcional para quem se cadastrou no site. Isso apenas para poupar espaço visual, pois o site está cheio de coisas e acho que esse recurso não é útil pra maioria dos visitantes.
Mas vamos ver como ele é feito. Primeira coisa: vamos à idéia.
Quando você diz "um dado tem 6 lados" para uma pessoa comum, ela concorda com você. Quando diz isso para um RPGista, ele vai franzir a testa e dizer "depende...". Sim, porque dados podem ter muitos lados! Em RPG os mais comuns são de 4, de 6, de 8, de 12 e de 20 lados, mas há ainda outros. Veja na Wikipedia que tem sobre dados.
Além de existirem vários tipos de dados, às vezes é necessário rolar mais de um do mesmo tipo. Uma combinação comum é a de 3 dados de 6 lados.
Por isso, utiliza-se uma "sintaxe" própria para se referir aos dados que precisam ser lançados. Quando queremos nos referir a um dado de 8 lados, dizemos "d8"; de 20 lados, dizemos "d20", e por aí vai... Para mais de um dado, colocamos o número antes do "d". Os 3 dados de 6 lados são referenciados por "3d6".
Isso é importante! Não basta o intervalo! Se eu jogar "1d20" será bem diferente de eu jogar "2d10". Não apenas pela presença ou ausência do 1, mas pelas possibilidades de cada número serem diferentes no segundo caso.
JavaScript oferece uma biblioteca matemática, que por sua vez tem um método apropriado para coisas aleatórias. Só tem um problema: ele gera números fracionários entre 0 e 1. Aí precisamos de um processo matemático para transpô-lo para o intervalo desejado.
Os passos são:
Digamos que queremos rolar um dado de 6 lados. Veja neste exemplo detalhado como a coisa funciona:
Concordo, é bem mais simples pegar um dado e jogar na mesa do que calcular isso tudo. Mas tendo um programa já feito, vai ser só clicar no botão. ;-)
Temos no início a função que faz esse procedimento matemático e modifica o "display" do resultado. No código HTML, você vê o display e os botões. Se quiser dar suporte a outros lances de dados, é só adicionar botões seguindo o padrão apresentado.
O código acima já está pronto e deve funcionar. É interessante colocar um estilo pelo menos no resultado. Que tal esse?
A imagem aparece com os botões arredondados por causa do estilo deste site. É um recurso do Firefox...
-- Cárlisson Galdino
P.S.: Artigo publicado inicialmente em 27 de agosto de 2006 no Bardo. A imagem mostrada é como está se apresentando o recurso visualmente no Bardo.
Comentários recentes
5 semanas 4 dias atrás
20 semanas 1 dia atrás
20 semanas 6 dias atrás
21 semanas 3 dias atrás
29 semanas 5 dias atrás
34 semanas 6 dias atrás
37 semanas 3 dias atrás
37 semanas 5 dias atrás
37 semanas 5 dias atrás
42 semanas 6 dias atrás