مسیرها
/
Elixir
Elixir
/
تمرین‌ها
/
صفحه‌ی شطرنج
صفحه‌ی شطرنج

صفحه‌ی شطرنج

تمرین یادگیری

مقدمه

بازه

بازه‌ها دنباله‌ای از یک یا چند عدد صحیح متوالی را نشان می‌دهند. آن‌ها با اتصال دو عدد صحیح با .. ساخته می‌شوند.

1..5

بازه‌ها می‌توانند صعودی یا نزولی باشند. آن‌ها همیشه شامل هر دو مقدار اول و آخر هستند.

یک بازه پروتکل Enumerable را پیاده‌سازی می‌کند، که یعنی می‌توان از توابع ماژول Enum برای کار با بازه‌ها استفاده کرد.

دستورالعمل‌ها

به‌عنوان یک علاقه‌مند به شطرنج، دوست دارید نسخه‌ی خودتان از این بازی را بنویسید. بله، شاید همین حالا هم پیاده‌سازی‌های زیادی از شطرنج به‌صورت آنلاین در دسترس باشد، اما نسخه‌ی شما منحصربه‌فرد خواهد بود!

اما پیش از آن‌که تخیلتان را آزاد بگذارید، باید به اصول اولیه بپردازید. بیایید با تولید صفحه شروع کنیم.

هر خانه از صفحه‌ی شطرنج با یک جفت حرف-عدد شناسایی می‌شود. ستون‌های عمودی خانه‌ها، که «فایل» نامیده می‌شوند، با حروف A تا H برچسب‌گذاری شده‌اند. ردیف‌های افقی خانه‌ها، که «رتبه» نامیده می‌شوند، از ۱ تا ۸ شماره‌گذاری شده‌اند.

1. تعریف بازه‌ی رتبه

تابع rank_range/0 را پیاده‌سازی کنید. این تابع باید یک بازه از اعداد صحیح را برگرداند، از ۱ تا ۸.

Chessboard.rank_range()

2. تعریف بازه‌ی فایل

تابع file_range/0 را پیاده‌سازی کنید. این تابع باید یک بازه از اعداد صحیح را برگرداند، از کدپوینت حرف بزرگ A تا کدپوینت حرف بزرگ H.

Chessboard.file_range()

3. تبدیل بازه‌ی رتبه به فهرست رتبه‌ها

تابع ranks/0 را پیاده‌سازی کنید. این تابع باید فهرستی از اعداد صحیح را برگرداند، از ۱ تا ۸. این فهرست را دستی ننویسید؛ آن را از بازه‌ای که تابع rank_range/0 برمی‌گرداند تولید کنید.

Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]

4. تبدیل بازه‌ی فایل به فهرست فایل‌ها

تابع files/0 را پیاده‌سازی کنید. این تابع باید فهرستی از حروف (رشته‌ها) را برگرداند، از "A" تا "H". این فهرست را دستی ننویسید؛ آن را از بازه‌ای که تابع file_range/0 برمی‌گرداند تولید کنید.

Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Elixir Exercism

آماده‌اید صفحه‌ی شطرنج را شروع کنید؟

در Exercism ثبت‌نام کنید تا Elixir را همراه با 58 مفهوم168 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.