البرمجة للمبتدئين باستخدام الكتل
الفصل
>
المستوى

القوائم المتقدمة وهياكل البيانات
الدوال مع القوائم المتداخلة

الهدف

استخدم دالة مخصصة تقوم بالدوران عبر الحقل، وتزرع وتروي المحاصيل.

الحقل يحتوي على عدة أشجار تحتاج إلى زراعة، فاحصل على حقيبة البذور ثم أعد ملء الماء قرب البئر. استخدم دالة مخصصة مع بنية قائمة متداخلة (dictionary) للمرور عبر الحقل وزرع الماء ثم ري البذور.

احصل على حقيبة البذور التي ستمنحك بذور الأشجار التالية في بنية قائمة متداخلة: "orange : 3", "pear : 4", "apple : 3", "peach : 2". انتقل إلى علامة X الضوئية المجاورة للبئر واستخدم كتلة collect مع "water" لجمع الماء.

بمجرد جمع جميع المواد اللازمة، أنشئ دالة مخصصة باسم sow_field باستخدام كتلة define function مع ثلاثة معلمات: tree، loops، و direction. داخل الدالة، استخدم كتلة حلقة for مع المتغير x من 0 إلى loops - 1. داخل الحلقة، استخدم كتل if للتحقق مما إذا كانت قيمة direction تساوي "right" أو "left"، وتنفيذ أنماط حركة وزراعة مختلفة بناءً على الاتجاه.

الحجة الأولى، tree، هي اسم المفتاح المستخدم في بنية القائمة المتداخلة، وهي "orange"، "pear"، "apple" و "peach". استخدم كتلة plant مع متغير seeds ومعلمة tree كمفتاح.

الحجة التالية هي loops والتي تحدد عدد الدورات التي ترغب في أن تقوم بها الدالة. هذا يساوي عدد البذور من كل نوع في الحقل. الحجة الأخيرة هي direction، والتي يمكن أن تكون "left" أو "right"، اختر الاتجاه الذي ترغب بأن يتحرك إليه اللاعب أثناء تكرار الدالة.

اتجه إلى الجزء العلوي من الخريطة بعد جمع الماء واستخدم كتلة call function لاستدعاء sow_field مع "orange"، 3، و "right" كمعطيات. قم بذلك لجميع بذور الأشجار لاستكمال المستوى.

كتاب الكود