المسارات
/
Elixir
Elixir
/
التمارين
/
رقعة الشطرنج
رقعة الشطرنج

رقعة الشطرنج

تمرين تعلّمي

مقدمة

النطاقات

تمثّل النطاقات تسلسلًا من عدد صحيح واحد أو عدة أعداد صحيحة متتالية. وتُنشأ بربط عددين صحيحين بـ ...

1..5

يمكن أن تكون النطاقات تصاعدية أو تنازلية، وهي تشمل دائمًا القيمة الأولى والقيمة الأخيرة.

يُنفّذ النطاق بروتوكول Enumerable، ما يعني أنه يمكن استخدام الدوال في وحدة Enum للتعامل مع النطاقات.

التعليمات

بصفتك من محبي الشطرنج، تودّ أن تكتب نسختك الخاصة من اللعبة. صحيح أن هناك الكثير من تطبيقات الشطرنج المتاحة على الإنترنت بالفعل، لكن نسختك ستكون فريدة!

لكن قبل أن تُطلق العنان لخيالك، عليك أن تهتم بالأساسيات. لنبدأ بتوليد الرقعة.

يُعرَّف كل مربع من مربعات رقعة الشطرنج بزوج مكوّن من حرف ورقم. الأعمدة الرأسية للمربعات، وتُسمّى الملفات، تُوسَم بالحروف من A إلى H. أما الصفوف الأفقية للمربعات، وتُسمّى الرتب، فتُرقَّم من 1 إلى 8.

1. عرّف نطاق الرتب

نفّذ الدالة rank_range/0. ينبغي أن تُرجع نطاقًا من الأعداد الصحيحة، من 1 إلى 8.

Chessboard.rank_range()

2. عرّف نطاق الملفات

نفّذ الدالة file_range/0. ينبغي أن تُرجع نطاقًا من الأعداد الصحيحة، من نقطة كود الحرف الكبير A، إلى نقطة كود الحرف الكبير H.

Chessboard.file_range()

3. حوّل نطاق الرتب إلى مصفوفة رتب

نفّذ الدالة ranks/0. ينبغي أن تُرجع مصفوفة من الأعداد الصحيحة، من 1 إلى 8. لا تكتب المصفوفة يدويًا، بل ولّدها من النطاق الذي تُرجعه الدالة 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 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.