شما برای شرکتی کار میکنید که یک بازی آنلاین در ژانر فانتزی و بقا میسازد.
وقتی بازیکنی یک مرحله را تمام میکند، به او امتیاز انرژی داده میشود. مقدار انرژیای که داده میشود بستگی دارد به اینکه بازیکن هنگام کاوش در آن مرحله چه اشیای جادوییای پیدا کرده است.
وظیفهی شما نوشتن کدی است که امتیاز انرژی را محاسبه میکند؛ امتیازی که هنگام تمام کردن یک سطح به بازیکنان داده میشود.
امتیازی که داده میشود به دو مورد بستگی دارد:
امتیاز انرژی بر اساس قواعد زیر داده میشود:
بیایید به یک مثال نگاه کنیم:
بازیکن سطح ۲۰ را تمام کرد و دو شیء جادویی با مقدارهای پایهی ۳ و ۵ پیدا کرد.
برای محاسبهی امتیاز انرژیای که بازیکن به دست آورده است، باید همهی مضربهای یکتای این مقدارهای پایه را که کمتر از سطح ۲۰ هستند پیدا کنیم.
{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» یک متد را (تا ببینید چگونه استفاده میشود).