Εργάζεσαι σε μια εταιρεία που φτιάχνει ένα διαδικτυακό παιχνίδι επιβίωσης σε κόσμο φαντασίας.
Όταν ένας παίκτης τελειώνει μια πίστα, κερδίζει πόντους ενέργειας. Το πόση ενέργεια παίρνει εξαρτάται από τα μαγικά αντικείμενα που βρήκε εξερευνώντας εκείνη την πίστα.
Η αποστολή σου είναι να γράψεις τον κώδικα που υπολογίζει τους πόντους ενέργειας που κερδίζουν οι παίκτες όταν ολοκληρώνουν ένα επίπεδο.
Οι πόντοι που κερδίζονται εξαρτώνται από δύο πράγματα:
Οι πόντοι ενέργειας υπολογίζονται σύμφωνα με τους παρακάτω κανόνες:
Ας δούμε ένα παράδειγμα:
Ο παίκτης ολοκλήρωσε το επίπεδο 20 και βρήκε δύο μαγικά αντικείμενα με βασικές τιμές 3 και 5.
Για να υπολογίσουμε τους πόντους ενέργειας που κέρδισε ο παίκτης, πρέπει να βρούμε όλα τα μοναδικά πολλαπλάσια αυτών των βασικών τιμών που είναι μικρότερα από το επίπεδο 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
Το κόλπο σε αυτή την άσκηση είναι να καταλάβεις πώς να διατρέχεις ένα εύρος αριθμών, καθώς και πώς να ελέγχεις μια Collection για πολλαπλάσια που διαιρούνται με έναν αριθμό. Δοκίμασε να χρησιμοποιήσεις τον Spotter για να αναζητήσεις πιθανές κλάσεις και να περιηγηθείς στις κατηγορίες μεθόδων αυτών των κλάσεων.
Επίσης, θυμήσου ότι το περιβάλλον Pharo διαθέτει εκτενείς διασταυρωμένες αναφορές. Μπορείς να κάνεις δεξί κλικ σε οποιαδήποτε κλάση ή μέθοδο και να περιηγηθείς στις "references" μιας κλάσης (για να δεις πώς μπορεί να δημιουργηθεί), καθώς και στους "senders" μιας μεθόδου (για να δεις πώς μπορεί να χρησιμοποιηθεί).
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Pharo με 50 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.