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

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

متوسط

التعليمات

في هذا التمرين، ستكتب برنامجًا يحدّد حالة لعبة إكس-أو. (قد تعرف اللعبة أيضًا باسم "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 يفتح الرابط في نافذة أو علامة تبويب جديدة
Uiua Exercism

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

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