Du arbeitest für ein Unternehmen, das ein Online-Spiel im Fantasy-Überlebensgenre entwickelt.
Wenn ein Spieler ein Level abschließt, erhält er Energiepunkte. Wie viele Energiepunkte es dafür gibt, hängt davon ab, welche magischen Gegenstände er beim Erkunden dieses Levels gefunden hat.
Deine Aufgabe ist es, den Code zu schreiben, der die Energiepunkte berechnet, die Spieler bekommen, wenn sie ein Level abschließen.
Die vergebenen Punkte hängen von zwei Dingen ab:
Die Energiepunkte werden nach den folgenden Regeln vergeben:
Schauen wir uns ein Beispiel an:
Der Spieler hat Level 20 abgeschlossen und zwei magische Gegenstände mit den Grundwerten 3 und 5 gefunden.
Um die Energiepunkte zu berechnen, die der Spieler verdient hat, müssen wir alle verschiedenen Vielfachen dieser Grundwerte finden, die kleiner als Level 20 sind.
{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
Der Trick bei dieser Übung ist, dass du verstehst, wie du über einen Bereich von Zahlen iterierst und wie du eine Collection auf Vielfache prüfst, die durch eine Zahl teilbar sind. Versuch es mit dem Spotter, um mögliche Klassen nachzuschlagen und die Kategorien der Methoden in diesen Klassen zu durchsuchen.
Denk auch daran, dass die Pharo-Umgebung umfassend quervernetzt ist. Du kannst auf jede Klasse oder Methode mit der rechten Maustaste klicken und die „references“ zu einer Klasse durchsehen (um zu sehen, wie sie erstellt werden könnte) sowie die „senders“ einer Methode (um zu sehen, wie sie verwendet werden könnte).
Melde dich bei Exercism an, um Pharo mit 50 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.