Lavori per un'azienda che produce un gioco online di sopravvivenza fantasy.
Quando un giocatore completa un livello, gli vengono assegnati dei punti energia. La quantità di energia assegnata dipende dagli oggetti magici che il giocatore ha trovato esplorando quel livello.
Il tuo compito è scrivere il codice che calcola i punti energia assegnati ai giocatori quando completano un livello.
I punti assegnati dipendono da due cose:
I punti energia vengono assegnati secondo le regole seguenti:
Vediamo un esempio:
Il giocatore ha completato il livello 20 e ha trovato due oggetti magici con valori base di 3 e 5.
Per calcolare i punti energia guadagnati dal giocatore, dobbiamo trovare tutti i multipli unici di questi valori base che sono minori del livello 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
Il trucco di questo esercizio sta nel capire come iterare su un intervallo di numeri e come controllare una Collection per individuare eventuali multipli divisibili per un numero. Prova a usare lo Spotter per cercare le classi potenziali ed esplorare le categorie di metodi al loro interno.
Ricorda anche che l'ambiente Pharo è ampiamente interconnesso. Puoi fare clic con il tasto destro su qualsiasi classe o metodo e consultare le "references" di una classe (per vedere come potrebbe essere creata), così come i "senders" di un metodo (per vedere come potrebbe essere usato).
Iscriviti a Exercism per imparare e padroneggiare Pharo con 50 esercizi e il mentoring di persone reali, tutto gratis.