teste-e-qualidade-de-software icon indicating copy to clipboard operation
teste-e-qualidade-de-software copied to clipboard

Personagem de D&D

Open elissonmichael opened this issue 5 years ago • 4 comments

Personagem de D&D

Em um jogo de Dungeons & Dragons, cada jogador começa criando um personagem para ele jogar. Esse personagem tem, entre outras coisas, seis habilidade: força, destreza, constituição, inteligência, sabedoria e carisma. Essas seis habilidade tem um pontuação que é determinada aleatoriamente. Você faz isso rolando quatro dados de seis lados e guardando a soma dos três maiores valores. Você faz isso seis vezes, uma vez para cada habilidade.

Seu personagem inicialmente tem 10 pontos de vida + o modificador de constituição do personagem. Você descobre o modificador de constituição do seu personagem subtraindo 10 da constituição do seu personagem, dividindo por 2 e arredondando para cima.

Escreva um gerador de personagem aleatório que siga as regras abaixo.

Por exemplo, as seis jogadas dos quatro dados podem se parecer com:

  • 5, 3, 1, 6: Você descarta o 1 e soma 5 + 3 + 6 = 14, o qual você atribui para força.
  • 3, 2, 5, 3: Você descarta o 2 e soma 3 + 5 + 3 = 11, o qual você atribui para destreza.
  • 1, 1, 1, 1: Você descarta o 1 e soma 1 + 1 + 1 = 3, o qual você atribui para constituição.
  • 2, 1, 6, 6: Você descarta o 1 e soma 2 + 6 + 6 = 14, o qual você atribui para inteligência.
  • 3, 5, 3, 4: Você descarta o 3 e soma 5 + 3 + 4 = 12, o qual você atribui para sabedoria.
  • 6, 6, 6, 6: Você descarta o 6 e soma 6 + 6 + 6 = 18, o qual você atribui para carisma.

Por causa da constituição ser 3, o modificar de constituição é -4 e os pontos de vida equivalem a 6.

Escreva também testes automatizados para sua classes e seus métodos.

elissonmichael avatar Jun 11 '19 02:06 elissonmichael

@elissonmichael me ajuda? quais tipos de testes eu poderia escrever nesse caso? já que tudo é gerado aleatoriamente, se possivel dê uma olhada no meu

lmaths avatar Sep 10 '19 18:09 lmaths

@elissonmichael me ajuda? quais tipos de testes eu poderia escrever nesse caso? já que tudo é gerado aleatoriamente, se possivel dê uma olhada no meu

@lmaths você poderia ver se o valor está incluído em um intervalo. Por exemplo o personagem pode ter no mínimo 3 ( 3 dados com 1 ) e no máximo 18 ( 3 dados com 6 ), então o teste poderia ser algo tipo: (3..18).must_include personagem.destreza

O que acha? Lembra q vc pode conferir outras possibilidades nesse resumo.

elissonmichael avatar Sep 10 '19 18:09 elissonmichael

@elissonmichael valeu! eu não tinha ideia do que poderia testar nesse caso aproveitando, eu ajustei as pastas, tinha entendido errado, ficou assim: Pasta do exercicio pasta 2019-2 Matheus respostas

está correto?

lmaths avatar Sep 10 '19 18:09 lmaths

2019-2

@lmaths cada exercício contém uma pasta 2019-2 com os exercícios de cada aluno.

elissonmichael avatar Sep 10 '19 18:09 elissonmichael