Trilhas
/
Go
Go
/
Exercícios
/
Personagem de D&D
Personagem de D&D

Personagem de D&D

Fácil

Introdução

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.

Instruções

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:

  • 5, 3, 1, 6: Você descarta o 1 e soma 5 + 3 + 6 = 14, que você atribui à Força.
  • 3, 2, 5, 3: Você descarta o 2 e soma 3 + 5 + 3 = 11, que você atribui à Destreza.
  • 1, 1, 1, 1: Você descarta o 1 e soma 1 + 1 + 1 = 3, que você atribui à Constituição.
  • 2, 1, 6, 6: Você descarta o 1 e soma 2 + 6 + 6 = 14, que você atribui à Inteligência.
  • 3, 5, 3, 4: Você descarta o 3 e soma 5 + 3 + 4 = 12, que você atribui à Sabedoria.
  • 6, 6, 6, 6: Você descarta o 6 e soma 6 + 6 + 6 = 18, que você atribui ao Carisma.

Como a Constituição é 3, o modificador de Constituição é -4 e os pontos de vida são 6.

Note

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.

Editar via GitHub O link abre em uma nova janela ou aba
Go Exercism

Tudo pronto para começar Personagem de D&D?

Crie sua conta no Exercism para aprender e dominar Go com 34 conceitos165 exercícios e mentoria humana de verdade, tudo de graça.

Mergulho profundo em Personagem de D&D!

Vamos explorar como gerar rolagens de dados (aparentemente) aleatórias. Você vai aprender sobre sementes, números pseudoaleatórios e algumas armadilhas comuns. Por fim, vamos ver como o teste baseado em propriedades é ótimo para testar funções que retornam valores aleatórios.