Depois de semanas de expectativa, você e seus amigos se reúnem para a primeira partida de Dungeons & Dragons (D&D). Como esta é a primeira sessão do jogo, cada jogador precisa gerar um personagem para jogar. As habilidades do personagem são determinadas rolando dados de 6 lados, mas onde estão os dados? Com um susto, você percebe que seus amigos estão esperando que você produza os dados; afinal, foi sua ideia jogar D&D! Em pânico, você percebe que esqueceu de trazer os dados, o que significaria nenhuma partida de D&D. Como você tem algumas habilidades básicas de programação, rapidamente encontra uma solução: vai escrever um programa para simular rolagens de dados.
Em uma partida de Dungeons & Dragons, cada jogador começa gerando um personagem com o qual possa jogar. Esse personagem tem, entre outras coisas, seis atributos: Força, Destreza, Constituição, Inteligência, Sabedoria e Carisma. Esses seis atributos têm valores determinados aleatoriamente. Você faz isso rolando quatro dados de 6 lados e anotando a soma dos três maiores valores. Você faz isso seis vezes, uma vez para cada atributo.
Os pontos de vida iniciais do seu personagem são 10 + o modificador de Constituição dele. Você calcula o modificador de Constituição do seu personagem subtraindo 10 da Constituição dele, dividindo por 2 e arredondando para baixo.
Escreva um gerador aleatório de personagens que siga as regras acima.
Por exemplo, as seis rolagens de quatro dados podem ser assim:
Como a Constituição é 3, o modificador de Constituição é -4 e os pontos de vida são 6.
A maioria das linguagens de programação possui geradores (pseudo)aleatórios, mas poucas linguagens de programação são projetadas para rolar dados. Uma dessas linguagens é Troll.
Crie sua conta no Exercism para aprender e dominar Odin com 73 exercícios e mentoria humana de verdade, tudo de graça.