Você trabalha em uma empresa que faz um jogo online de fantasia e sobrevivência.
Quando um jogador termina uma fase, ele recebe pontos de energia. A quantidade de energia recebida depende de quais itens mágicos o jogador encontrou ao explorar aquela fase.
Sua tarefa é escrever o código que calcula os pontos de energia concedidos aos jogadores quando eles completam uma fase.
Os pontos concedidos dependem de duas coisas:
Os pontos de energia são concedidos de acordo com as seguintes regras:
Vamos ver um exemplo:
O jogador completou a fase 20 e encontrou dois itens mágicos com valores base de 3 e 5.
Para calcular os pontos de energia ganhos pelo jogador, precisamos encontrar todos os múltiplos únicos desses valores base que sejam menores que a fase 20.
{3, 6, 9, 12, 15, 18}
{5, 10, 15}
{3, 5, 6, 9, 10, 12, 15, 18}
3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
O segredo deste exercício é entender como iterar sobre um intervalo de números e também verificar em uma Collection se há múltiplos divisíveis por um número. Experimente usar o Spotter para procurar classes em potencial e explorar as categorias de métodos dessas classes.
Lembre-se também de que o ambiente Pharo tem referências cruzadas por toda parte. Você pode clicar com o botão direito em qualquer classe ou método e navegar pelas "references" de uma classe (para ver como ela pode ser criada), assim como pelos "senders" de um método (para ver como ele pode ser usado).
Crie sua conta no Exercism para aprender e dominar Pharo com 50 exercícios e mentoria humana de verdade, tudo de graça.