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

يحتوي كائن الجهاز اللوحي على الخصائص التالية:
- `tabletSpeed` (عائم): سرعة حركة الجهاز اللوحي.
- `tabletOffset` (عائم): قيمة الإزاحة لموضع الكمبيوتر اللوحي.
- `المهام` (BaseTask[]): مصفوفة من كائنات BaseTask تمثل المهام التي يحتاج اللاعب إلى إكمالها.
- `taskText` (Text[]): مصفوفة من الكائنات النصية التي تمثل أوصاف المهام التي سيتم عرضها على الجهاز اللوحي.
- `doorTasks` (BaseTask[]): مصفوفة من كائنات BaseTask تمثل المهام المطلوبة لفتح الباب.
- `victoryScreen` (GameObject): كائن شاشة النصر الذي سيتم عرضه عند اكتمال جميع المهام.
- `failureScreen` (GameObject): كائن شاشة الفشل الذي سيتم عرضه عندما يفشل اللاعب في إكمال المهام.
- `القائمة` (GameObject): كائن القائمة الذي سيتم عرضه عندما يبدأ اللاعب اللعبة.

مهمتك هي تنفيذ الوظيفة التالية لكائن الجهاز اللوحي:
1. قم بتنفيذ وظيفة "النقل" لكائن الجهاز اللوحي الذي يحرك الجهاز اللوحي بالسرعة المحددة وقيم الإزاحة.
2. قم بتنفيذ وظيفة "displayTasks" التي تأخذ أوصاف المهام من مصفوفة "taskText" وتعرضها على الجهاز اللوحي.
3. قم بتنفيذ وظيفة `unlockDoor` التي تتحقق من اكتمال جميع المهام من مجموعة `doorTasks`. إذا كان الأمر كذلك، فإنه ينبغي تمكين كائن الباب.
4. قم بتنفيذ وظيفة "التحقق من الإكمال" التي تتحقق مما إذا كانت جميع المهام من مصفوفة "المهام" قد اكتملت أم لا. إذا تم إكمال جميع المهام، فيجب تنشيط كائن "victoryScreen". وإلا، فيجب تنشيط كائن "failureScreen".
5. قم بتنفيذ وظيفة "openMenu" التي تقوم بتنشيط كائن "القائمة" عند استدعائه.

افترض أن الواردات الضرورية وتعريفات الفئة متوفرة بالفعل.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}