Instruções

Construir um personagem de RPG

Neste laboratório, você praticará o básico de Python construindo um pequeno app que cria um personagem para uma aventura de RPG. Objetivo: Cumprir as user stories abaixo e fazer todos os testes passarem para completar o laboratório. Histórias de usuário: 1. Você deve ter uma função chamada create_character. 1. A função deve aceitar, na ordem, um nome de personagem seguido por três atributos: força, inteligência e carisma. 1. O nome do personagem deve ser validado:
  • Se o nome do personagem não for uma string, a função deve retornar The character name should be a string.
  • Se o nome do personagem for uma string vazia, a função deve retornar The character should have a name.
  • Se o nome do personagem tiver mais de 10 caracteres, a função deve retornar The character name is too long.
  • Se o nome do personagem contiver espaços, a função deve retornar The character name should not contain spaces.
1. As estatísticas também devem ser validadas:
  • Se uma ou mais estatísticas não forem inteiros, a função deve retornar All stats should be integers.
  • Se uma ou mais estatísticas forem menores que 1, a função deve retornar All stats should be no less than 1.
  • Se uma ou mais estatísticas forem maiores que 4, a função deve retornar All stats should be no more than 4.
  • Se a soma de todas as estatísticas for diferente de 7, a função deve retornar The character should start with 7 points.
1. Se todos os valores passarem na verificação, a função deve retornar uma string com quatro linhas:
  • a primeira linha deve conter o nome do personagem
  • as linhas 2-4 devem começar com a abreviação da característica, STR, INT ou CHA (nessa ordem), seguida de um espaço e depois um número de pontos cheios () igual ao valor da característica, e um número de pontos vazios () para completar 10. Exemplo: se o valor de força for 3, deve haver 3 pontos cheios seguidos de 7 pontos vazios. Os pontos são fornecidos no editor.
Aqui está a string que deve ser retornada por create_character('ren', 4, 2, 1):
ren
   STR ●●●●○○○○○○
   INT ●●○○○○○○○○
   CHA ●○○○○○○○○○
NOTA: enquanto str e int são abreviações comuns para as estatísticas, lembre-se de que esses são palavras-chave reservadas em Python e não devem ser usados como nomes de variáveis.

O que fazer:

Testes:

  • Você deve ter uma função chamada `create_character`.
  • Quando `create_character` é chamado com um primeiro argumento que **não** é uma string, ele deve retornar `The character name should be a string`.
  • Quando `create_character` é chamado com um primeiro argumento que é uma string, ele **não deve** retornar `The character name should be a string`.
  • Quando `create_character` é chamado com um primeiro argumento que é uma string vazia, ele deve retornar `The character should have a name`.
  • Quando `create_character` é chamado com um primeiro argumento que **não** é uma string vazia, ele **não deve** retornar `The character should have a name`.
  • Quando `create_character` é chamado com um primeiro argumento que possui mais de 10 caracteres, ele deve retornar `The character name is too long`.
  • A função `create_character` **não deve** informar que o personagem é muito longo quando ele não tem mais de 10 caracteres.
  • Quando `create_character` é chamado com um primeiro argumento que contém um espaço, ele deve retornar `The character name should not contain spaces`.
  • Quando `create_character` é chamado com um primeiro argumento que *não* contém um espaço, ele *não deve* retornar `The character name should not contain spaces`.
  • Quando `create_character` é chamado com um segundo, terceiro ou quarto argumento que **não** seja um inteiro, ele deve retornar `All stats should be integers`.
  • Quando `create_character` é chamado com um segundo, terceiro e quarto argumento que são todos inteiros, ele **não deve** retornar `All stats should be integers`.
  • Quando `create_character` é chamado com um segundo, terceiro ou quarto argumento menor que `1`, ele deve retornar `All stats should be no less than 1`.
  • Quando `create_character` é chamado com um segundo, terceiro e quarto argumento que são todos não menores que `1`, ele **não deve** retornar `All stats should be no less than 1`.
  • Quando `create_character` é chamado com um segundo, terceiro ou quarto argumento que seja maior que `4`, ele deve retornar `All stats should be no more than 4`.
  • Quando `create_character` é chamado com um segundo, terceiro e quarto argumento que são todos no máximo `4`, ele **não deve** retornar `All stats should be no more than 4`.
  • Quando `create_character` é chamado com um segundo, terceiro ou quarto argumento que **não somam** `7`, ele deve retornar `The character should start with 7 points`.
  • Quando `create_character` é chamado com um segundo, terceiro e quarto argumento que somam `7`, ele **não deve** retornar `The character should start with 7 points`.
  • `create_character('ren', 4, 2, 1)` deve retornar `ren\nSTR ●●●●○○○○○○\nINT ●●○○○○○○○○\nCHA ●○○○○○○○○○`.
  • Quando `create_character` é chamado com valores válidos, ele deve exibir as estatísticas do personagem conforme necessário.

Preview