المسارات
/
D
D
/
التمارين
/
حالة تيك تاك تو
حالة تيك تاك تو

حالة تيك تاك تو

متوسط

التعليمات

في هذا التمرين، ستكتب برنامجًا يحدّد حالة لعبة إكس-أو. (قد تعرف اللعبة أيضًا باسم "noughts and crosses" أو "Xs and Os".)

تُلعب اللعبة على شبكة 3×3. يتناوب اللاعبون على وضع علامات X وO على الشبكة. تنتهي اللعبة عندما يفوز أحد اللاعبين بوضع ثلاث علامات في صف أو عمود أو على أحد أقطار الشبكة، أو عندما تُملأ الشبكة بالكامل.

في هذا التمرين، سنفترض أن X هو من يبدأ.

مهمتك هي تحديد الحالة التي وصلت إليها لعبة معطاة.

هناك 3 حالات محتملة للعبة:

  • اللعبة في حالة ongoing.
  • انتهت اللعبة في حالة draw.
  • انتهت اللعبة في حالة win.

إذا كانت اللوحة المعطاة غير صالحة، فارمِ خطأً مناسبًا.

تكون اللوحة غير صالحة إذا استوفت الشروط التالية:

  • لا يمكن الوصول إلى اللوحة المعطاة إذا أُخذت الأدوار بالترتيب الصحيح (تذكّر أن X هو من يبدأ).
  • استمر اللعب بعد انتهاء اللعبة بالفعل.

أمثلة

لعبة جارية

   |   |
 X |   |
___|___|___
   |   |
   | X | O
___|___|___
   |   |
 O | X |
   |   |

تعادل

   |   |
 X | O | X
___|___|___
   |   |
 X | X | O
___|___|___
   |   |
 O | X | O
   |   |

فوز

   |   |
 X | X | X
___|___|___
   |   |
   | O | O
___|___|___
   |   |
   |   |
   |   |

غير صالح

ترتيب أدوار خاطئ
   |   |
 O | O | X
___|___|___
   |   |
   |   |
___|___|___
   |   |
   |   |
   |   |
استمرار اللعب بعد الفوز
   |   |
 X | X | X
___|___|___
   |   |
 O | O | O
___|___|___
   |   |
   |   |
   |   |
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
D Exercism

مستعد لبدء حالة تيك تاك تو؟

سجّل في Exercism لتتعلّم وتتقن D عبر 92 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.