Trabalhas numa empresa que faz um jogo online de sobrevivência num mundo de fantasia.
Quando um jogador termina um nível, recebe pontos de energia. A quantidade de energia ganha depende dos itens mágicos que o jogador encontrou ao explorar esse nível.
A tua tarefa é escrever o código que calcula os pontos de energia atribuídos aos jogadores quando completam um nível.
Os pontos atribuídos dependem de duas coisas:
Os pontos de energia são atribuídos de acordo com as seguintes regras:
Vamos ver um exemplo:
O jogador completou o nível 20 e encontrou dois itens mágicos com valores base de 3 e 5.
Para calcular os pontos de energia ganhos pelo jogador, temos de encontrar todos os múltiplos únicos destes valores base que sejam menores do que o nível 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 truque deste exercício é perceber como iterar ao longo de um intervalo de números e também como verificar numa Collection se há múltiplos divisíveis por um número. Experimenta usar o Spotter para procurar classes potenciais e explorar as categorias de métodos dessas classes.
Lembra-te também de que o ambiente Pharo tem muitas referências cruzadas. Podes clicar com o botão direito em qualquer classe ou método e explorar as "references" de uma classe (para ver como pode ser criada), bem como os "senders" de um método (para ver como pode ser usado).
Inscreve-te no Exercism para aprenderes e dominares Pharo com 50 exercícios, e mentoria humana real, tudo grátis.