आप एक ऐसी कंपनी के लिए काम करते हैं जो ऑनलाइन फैंटेसी सर्वाइवल गेम बनाती है।
जब कोई खिलाड़ी एक लेवल पूरा करता है, तो उसे एनर्जी पॉइंट मिलते हैं। कितने एनर्जी पॉइंट मिलेंगे, यह इस पर निर्भर करता है कि उस लेवल को खोजते समय खिलाड़ी को कौन-कौन सी जादुई चीज़ें मिलीं।
आपको वह कोड लिखना है जो यह गणना करता है कि लेवल पूरा करने पर खिलाड़ियों को कितने एनर्जी पॉइंट मिलते हैं।
मिलने वाले एनर्जी पॉइंट दो चीज़ों पर निर्भर करते हैं:
एनर्जी पॉइंट इन नियमों के अनुसार मिलते हैं:
चलिए एक उदाहरण देखते हैं:
खिलाड़ी ने लेवल 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" भी देख सकते हैं (जिससे पता चलता है कि उस मेथड को कहाँ से कॉल किया जाता है)।