Trabajas para una empresa que crea un juego en línea de fantasía y supervivencia.
Cuando un jugador termina un nivel, recibe puntos de energía. La cantidad de energía que se otorga depende de los objetos mágicos que el jugador haya encontrado mientras exploraba ese nivel.
Tu tarea es escribir el código que calcula los puntos de energía que se otorgan a los jugadores cuando completan un nivel.
Los puntos otorgados dependen de dos cosas:
Los puntos de energía se otorgan según las siguientes reglas:
Vamos a ver un ejemplo:
El jugador completó el nivel 20 y encontró dos objetos mágicos con valores base de 3 y 5.
Para calcular los puntos de energía que gana el jugador, tenemos que encontrar todos los múltiplos únicos de estos valores base que sean menores que el nivel 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
El truco de este ejercicio está en entender cómo iterar sobre un rango de números y también en comprobar si una Collection contiene múltiplos divisibles por un número. Prueba a usar el Spotter para buscar posibles clases y explorar las categorías de métodos de esas clases.
Recuerda también que el entorno de Pharo está muy interconectado mediante referencias cruzadas. Puedes hacer clic con el botón derecho en cualquier clase o método y explorar las «references» de una clase (para ver cómo podría crearse), así como los «senders» de un método (para ver cómo podría usarse).
Regístrate en Exercism para aprender y dominar Pharo con 50 ejercicios y mentoría humana real, todo gratis.