Teacher's Guide
move_forward()
بناء الجملة
player.move_forward([number of steps])
تُستخدم هذه الدالة لجعل اللاعب يتحرك للأمام في الاتجاه الذي يواجهه بشرط عدم وجود اصطدام يمنع مسار اللاعب. يمكنك تعيين عدد الخطوات التي ترغب في تكرار تنفيذ هذه الدالة أو تركها فارغة ليتم تنفيذ الإجراء مرة واحدة فقط.
إذا لم يتم تزويد الدالة بأي معطيات، فسوف يتحرك اللاعب خطوة واحدة إلى الأمام.
مثال
player.move_forward(3)
سيقوم هذا الكود بجعل اللاعب يتحرك ثلاث خطوات إلى الأمام في الخريطة.

turn_left()
بناء الجملة
player.turn_left()
تُستخدم هذه الدالة لجعل اللاعب يدور إلى اليسار، مما يغير اتجاهه ليصبح إلى يسار الاتجاه الحالي.
مثال
player.turn_left()
player.move_forward()
سيجعل هذا الكود اللاعب يدور إلى اليسار بالنسبة لاتجاهه الحالي ثم يتحرك للأمام في ذلك الاتجاه باستخدام الكود التالي.

turn_right()
بناء الجملة
player.turn_right()
تُستخدم هذه الدالة لجعل اللاعب يدور إلى اليمين، مما يغير اتجاهه ليصبح إلى يمين الاتجاه الحالي.
مثال
player.turn_right()
player.move_forward()
سيجعل هذا الكود اللاعب يدور إلى اليمين بالنسبة لاتجاهه الحالي ثم يتحرك للأمام في ذلك الاتجاه باستخدام الكود التالي.

push()
بناء الجملة
player.push()
تُستخدم هذه الدالة لجعل اللاعب يدفع كائنًا في الاتجاه الذي يواجهه بشرط عدم وجود اصطدام يمنع مسار الكائن.
مثال
player.turn_left()
player.push()
سيجعل هذا الكود اللاعب يدور إلى اليسار ويدفع كائنًا قابلًا للحركة في الاتجاه الذي يواجهه.

speak()
بناء الجملة
player.speak([string to speak])
تُستخدم هذه الدالة لجعل اللاعب ينطق بسلسلة نصية محددة تُمرر كمعطى للدالة. في اللعبة، يتم التعبير عن ذلك عبر رسم النص على الشاشة فوق رأس اللاعب.
مثال
player.speak("Hello World")
سيقوم هذا الكود بعرض عبارة "Hello World" فوق رأس اللاعب.

build()
بناء الجملة
player.build([object to build])
تُستخدم هذه الدالة لجعل اللاعب يبني كائنًا محددًا يُمرر كمعطى. تتوفر مجموعة محدودة من الكائنات التي يمكن للاعب بناؤها باستخدام هذه الدالة وهناك متطلبات معينة مرتبطة ببناء كل كائن. سيتم بناء الكائنات أمام اتجاه اللاعب بشرط ألا تكون المنطقة مشغولة بكائن آخر أو أن تكون نوعية التضاريس غير مناسبة لبناء الكائن.
| الكائن | التكلفة | المعطى | الوصف |
|---|---|---|---|
| جسر | 4 جذوع | "bridge" | يبني جسرًا للعبور |
| كومة الحبوب | 4 حبوب | Class Object Name | ينتج كومة من الحبوب |
| طريق خشبي | 4 ألواح | Class Object Name | يضيف شريطًا من المسار الخشبي |
| طريق حجري | 4 حجارة | Class Object Name | يضيف شريطًا من المسار الحجري |
| منزل أخضر كبير | 4 ألواح | Class Object Name | يبني بيت الدجاج |
| منزل أزرق صغير | 4 ألواح | Class Object Name | يبني بيت الدجاج |
| منزل برتقالي كبير | 4 ألواح | Class Object Name | يبني بيت الدجاج |
| منزل أحمر صغير | 4 ألواح | Class Object Name | يبني بيت الدجاج |
مثال
player.build("bridge")
سيقوم هذا الكود بجعل اللاعب يبني جسرًا أمامه في الاتجاه الذي يواجهه.

water()
بناء الجملة
player.water()
يمكن استخدام هذه الدالة لسقي الكائنات داخل اللعبة، مثل سقي المحاصيل وإعادة تعبئة صواني الماء. في اللعبة، يُستخدم هذا عادةً في الزراعة وتربية المزارع.
مثال
player.water()
باستخدام هذا الكود، يمكن للاعب سقي كائن في الاتجاه الذي يواجهه.

collect()
بناء الجملة
player.collect(string)
تُستخدم هذه الدالة لجمع الموارد التي لا يمكن إضافتها إلى المخزون. يُستخدم هذا عادة لتجديد عناصر المخزون التي قد تنفد، مثل ملء قربة بالماء.
مثال
player.collect("water")
player.turn_left()
player.water()
سيقوم هذا الكود بجعل اللاعب يجمع الماء من المصدر الذي يواجهه، ثم يدور إلى اليسار لسقي كائن.

open()
بناء الجملة
player.open()
تُستخدم هذه الدالة لفتح الأبواب والحاويات، مما يكون مفيدًا لعبور المداخل أو لفتح الحاويات لالتقاط أو وضع الكائنات.
مثال
player.turn_left()
player.open()
player.move_forward()
سيقوم هذا الكود بجعل اللاعب يدور إلى اليسار لفتح الباب، ثم يعبر من خلاله.

close()
بناء الجملة
player.close()
تُستخدم هذه الدالة لإغلاق الأبواب والحاويات، مما يكون مفيدًا لإغلاق الأبواب خلفك أو إغلاق حاوية بعد وضع شيء بداخلها.
مثال
player.open()
player.collect("item")
player.close()
سيقوم هذا الكود بجعل اللاعب يفتح صندوقًا، يلتقط عنصرًا، ثم يغلق الصندوق بعد ذلك.

place()
بناء الجملة
player.place(object)
تُستخدم هذه الدالة لوضع كائن أو عنصر أو متغير في موقع يُسمح بوضع الكائنات فيه. يُستخدم هذا عادةً لتخزين العناصر في حاوية أو لوضع الكائنات في مواقع محددة.
مثال
wheat = 6
player.place(wheat)
يوضح هذا الكود قيام اللاعب بتخزين رقم داخل متغير باسم wheat ثم استخدام دالة place() لوضع المتغير في موقع مخصص.

combine()
بناء الجملة
player.combine(mixture)
تُستخدم هذه الدالة لجعل اللاعب يدمج كائنات مختلفة معًا لإنتاج كائن جديد كليًا. يُستخدم هذا عادة لدمج المكونات لصنع طعام أو شراب أو مواد.
| المجموعة | المكونات |
|---|---|
| صلصة الفجل | 3 milk, 2 cream, 3 lettuce, 5 radish |
| عصير الفواكه | 1 water, 1 empty jar, 1 orange, 1 peach, 1 pear, 1 apple |
| عصير العنب | 1 grape, 1 empty jar |
| حليب التوت | 1 milk, (1 red berry or 1 strawberry) |
| سلطة | 2 carrot, 2 tomato, 6 lettuce, 2 cucumber |
مثال
player.combine(jar)
سيقوم هذا الكود بجعل اللاعب يأخذ كل شيء من القائمة المسماة “jar” ويدمجهم لتشكيل عنصر/كائن جديد.

plant()
بناء الجملة
player.plant(dictionary,key)
تُستخدم هذه الدالة لزرع الكائنات في الأرض، وعادة ما تُخصص لزراعة المحاصيل. تستخدم هذه الدالة القواميس، فتأخذ معطيين: اسم القاموس ومفتاح القاموس.
مثال
player.plant(seeds, "Eggplant")
player.water()
في الكود أعلاه، يقوم اللاعب بزرع بذور الباذنجان في التربة ثم يسقيها.

write()
بناء الجملة
await player.write(message)
تسمح هذه الدالة بعرض رسالة؛ فهي دالة غير متزامنة تتيح ظهور نافذة منبثقة تعرض رسالة مُحمّلة إليها. يتوقف البرنامج حتى يتم إغلاق الرسالة.
مثال
await player.write("Hello World")
في الكود أعلاه، يتم عرض رسالة منبثقة تحمل الرسالة "Hello World" مما يوقف البرنامج حتى يقوم اللاعب بإغلاق الرسالة.

read()
بناء الجملة
await player.read()
تسمح هذه الدالة بعرض رسالة؛ فهي دالة غير متزامنة تتيح ظهور نافذة منبثقة تعرض رسالة تم تسجيلها مسبقًا في المستوى. يتوقف البرنامج حتى يتم إغلاق الرسالة.
مثال
await player.read()
في الكود أعلاه، يتم عرض رسالة منبثقة تحتوي على رسالة مسجلة مسبقًا ومدمجة يدويًا في المستوى، مما يوقف البرنامج حتى يقوم اللاعب بإغلاق الرسالة.

question()
بناء الجملة
await player.question(question)
تسمح هذه الدالة بعرض رسالة مع سؤال بنعم أو لا؛ فهي دالة غير متزامنة تتيح ظهور نافذة منبثقة تعرض رسالة مُقدمة وتنتج قيمة منطقية بناءً على الإدخال.
مثال
async def question_function():
answer = await player.question("Question you would like to ask")
if answer:
# Actions to take if answer is Yes
else:
# Actions to take if answer is No
في الكود أعلاه، يتم عرض رسالة منبثقة تحتوي على سؤال مع زرين (نعم ولا)، مما يوقف البرنامج حتى يقوم اللاعب بتحديد الإجابة.

display()
بناء الجملة
await player.display("message")
تسمح هذه الدالة بعرض رسالة؛ فهي دالة غير متزامنة تتيح ظهور نافذة منبثقة تعرض رسالة ليس لها بيانات مسجلة مسبقًا. يُقصد استخدامها لعرض بيانات خام لا يمكن برمجتها بشكل صحيح. يتوقف البرنامج حتى يتم إغلاق الرسالة. عند إعدادها داخليًا، لا يمكن تضمين محتوى برمجي للسماح لها بعرض أي شيء.
مثال
await player.display("Whatever I want to put here")
في الكود أعلاه، يتم عرض رسالة منبثقة تحمل أي رسالة تقوم بإدخالها بغض النظر عن محتواها. في هذه الحالة، تظهر الرسالة "Whatever I want to put here".
