Trabajas para una empresa que hace un juego de supervivencia y fantasía en línea.
Cuando un jugador termina un nivel, recibe puntos de energía. La cantidad de energía que recibe depende de los objetos mágicos que el jugador encontró mientras exploraba ese nivel.
Tu tarea es escribir el código que calcula los puntos de energía que se les otorgan a los jugadores cuando completan un nivel.
Los puntos que se otorgan dependen de dos cosas:
Los puntos de energía se otorgan según las siguientes reglas:
Veamos 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 ganó el jugador, necesitamos 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 es entender cómo iterar sobre un rango de números y también cómo revisar una Collection en busca de los múltiplos que sean divisibles por un número. Prueba a usar el Spotter para buscar clases potenciales y explorar las categorías de métodos de esas clases.
Recuerda también que el entorno de Pharo está lleno de referencias cruzadas. Puedes hacer clic 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.