نفّذ منطق لعبة Hangman باستخدام البرمجة التفاعلية الوظيفية.
Hangman لعبة بسيطة لتخمين الكلمات.
البرمجة التفاعلية الوظيفية طريقة لكتابة البرامج التفاعلية. وهي تختلف عن المنظور المعتاد: فبدلًا من أن تقول «عند الضغط على الزر، زد العدّاد»، تكتب «قيمة العدّاد هي مجموع عدد مرات الضغط على الزر».
نفّذ المنطق الأساسي الكامن وراء لعبة Hangman باستخدام البرمجة التفاعلية الوظيفية. ستحتاج إلى تثبيت مكتبة FRP للقيام بذلك، وسيُشرح هذا في ملفات هذا التمرين الخاصة باللغة والمسار.
لا حاجة إلى مكتبة خارجية في هذا التمرين. يُرجى تجاهل التعليمات المتعلقة بـ مكتبة FRP.
أحيانًا يلزمك رفع استثناء. وعندما تفعل ذلك، ينبغي أن تُضمّن دائمًا رسالة خطأ ذات معنى تشير إلى مصدر الخطأ. فهذا يجعل الكود أكثر وضوحًا ويساعد كثيرًا في تصحيح الأخطاء. وإذا كنت تعرف أن مصدر الخطأ سيكون من نوع معيّن، فيمكنك أن تختار رفع أحد أنواع الأخطاء المضمّنة، لكن ينبغي مع ذلك أن تُضمّن رسالة ذات معنى.
يتطلب هذا التمرين تحديدًا أن تستخدم عبارة raise لإطلاق ValueError عندما تنتهي اللعبة ويحاول اللاعب مواصلة اللعب. ولن تنجح الاختبارات إلا إذا استخدمت raise مع exception وأضفت رسالة معها.
لرفع ValueError مع رسالة، اكتب الرسالة كوسيط لنوع exception:
# when player tries to play, but the game is already over.
raise ValueError("The game has already ended.")
سجّل في Exercism لتتعلّم وتتقن Python عبر 17 مفهومًا146 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.