شما برای شرکتی کار میکنید که یک بازی آنلاین چندنفره به اسم Lexiconia میسازد.
برای بازی کردن، به هر بازیکن ۱۳ حرف داده میشود که باید آنها را بازآرایی کند تا کلمه بسازد. حروف مختلف امتیازهای متفاوتی دارند، چون ساختن کلمه با بعضی حروف آسانتر از حروف دیگر است.
این بازی در ابتدا به انگلیسی عرضه شد، اما بسیار محبوب است و حالا شرکت میخواهد به زبانهای دیگر هم گسترش پیدا کند.
زبانهای مختلف باید از امتیازهای متفاوتی برای حروف پشتیبانی کنند. امتیازها بر اساس این تعیین میشوند که هر حرف در مقایسه با حروف دیگر آن زبان چقدر استفاده میشود.
برای مثال، حرف «C» در انگلیسی کاملاً رایج است و فقط ۳ امتیاز ارزش دارد. اما در نروژی حرفی بسیار کمیاب است و ۱۰ امتیاز ارزش دارد.
برای اینکه افزودن زبانهای جدید آسانتر شود، تیم شما باید روش ذخیرهسازی حروف و امتیازهایشان را در بازی تغییر دهد.
وظیفهی شما این است که قالب دادهی حروف و ارزش امتیازی آنها را در بازی تغییر دهید.
در حال حاضر، حروف بر اساس امتیازشان در گروههایی ذخیره میشوند، به شکل یک «نگاشت» یکبهچند.
این باید تغییر کند تا هر حرف بهصورت جداگانه همراه با امتیازش در یک نگاشت یکبهیک ذخیره شود.
بهعنوان بخشی از این تغییر، تیم تصمیم گرفته است حروف را از بزرگ به کوچک تغییر دهد.
اگر میخواهید ببینید دادهها پیشتر چگونه ساختاربندی شده بودند و چگونه باید تغییر کنند، به نمونههای موجود در مجموعهی تست نگاهی بیندازید.
در Exercism ثبتنام کنید تا YAMLScript را همراه با 60 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.