مقدمة

سوف تتعلم كيف تبرمج كائنا يتحدث من تصميمك الخاص

المرحلة الأولى:شخصية الكائن

قائمة النشاطات

  • قبل البدأ ينبغي عليك اختيار الشخصية.
    • ماهو اسمها?
    • اين تعيش?
    • هل هي سعيدة؟صارمة؟مضحكة؟ أم صديقة؟
  • ابدأ مشروع سكراتش جديد و احذف شخصية القط ليكون مشروعك فارغا.يمكنك ايجاد محرر لسكراتش أونلاين علىjumpto.cc/scratch-new.

  • اختر أحد هذه الكائنات و أضفها لمشروعك:

    screenshot

  • اختر خلفية تناسب الكائن الذي اخترته.يمكنك اختيار ماتشاء, اليك مثالا عن ذلك

    screenshot

اخفظ مشروعك

المرحلة الثانية: كائن يتحدث

الآن وقد اخترت الشخصية لنجعلها تتكلم.

قائمة النشاطات

+انقر على الكائن و أضف البرمجة التالية:

```blocks
    when this sprite clicked
    ask [أهلا، ماهو اسمك ؟] and wait
    say [خير الأسامي !] for (2) secs
```
  • انقر على الكائن لتجربته عندمايسألك عن اسمك اكتبه في الخانة الواقعة في أسفل الشاشة.

    screenshot

  • الكائن يرد عليك ‘خير الأسامي !’ كل مرة . حاول تعديل رد الكائن،يمكنك استعمال اجابة المستخدم (الذي هو أنت في هذه الحالة) لهذا الغرض .عدل برنامجك ليبدو مثل هذا:

        عند نقر هذا الكائن
    ask [أهلا، ماهو اسمك ] and wait
    قل (اربط [Hi] (الإجابة)) لمدة (2) ثانية

    كي تنشئ القطعة الأخيرة يلزمك سحب القطعة الخضراء ‘اربط’ ثم
    وضعها داخل القطعة ‘قل’.مثل التالي

    screenshot

    يمكنك الآن تغيير النص الاجنبي الى ‘أهلا’و سحب القطعة الزرقاء ’الاجابة’++ ستجدها في جزء العمليات و ادخالها الى النص world.

    screenshot

  • جرب هذا برنامجك الجديد .هل يعمل كما توقعت ؟ هل تستطيع اصلاح المشاكل التي تراها؟ (تلميح: حاول الاضافة في مكان معين!)هاه

  • ربما تريد أن تحفظ اسم المستخدم في متغير , كي يتسنى لك استعماله مرة أخرى .أنشئ متغيرا جديدا اسمه ‘الاسم’{.blockdata} .اذا نسيت كيف تقوم بذلك طالع على برنامج البالون ليساعدك.

  • المعلومات التي أدخلتها من قبل يتم حفظها في متغير خاص ‘الاجابة’– .اذهب الى قسم التحسس و انقر على خانة التحقق بجوار قطعة ‘الاجابة’– .قيمة هذه ‘الاجابة’– سوف تظهر في أعلى يسار المنصة .

  • عند انشاءك المتغير, تأكد أن برمجة كائنك تبدو كالتالي :

        when this sprite clicked
    ask [أهلا, ماهو اسمك؟] and wait
    set [name v] to (الاجابة)
    say <join [أهلا ] (الاسم)> for (2) secs

  • لدى تجرتك لبرنامجك مجددا , سوف تلاحظ أن الاجابة حفظت في المتغير ‘الاسم’– و سوف يظهر في أعلى يسار المنصة.الان من المفروض أن المتغير ‘الاسم’– يحمل نفس القيمة كالتي في ‘الاجابة’– .انظر :

    screenshot

    ان كنت ترغب في اخفائه عن منصتك ,انقر على العلامة بجانب اسم المتغير تجده في قسم البيانات لاخفائهم .

احفظ مشروعك

تحدي: أسئلة اظافية

برمج كائنك المحادث ليسأل أسئلة أخرى .هل بإمكانك حفظ الاجابة في متغير ؟

screenshot

احفظ مشروعك

المرحلة الثالثة: اتخاذ القرارات

بإمكانك برمجة كائنك المحادث ليقرر ما سيفعله, على حسب رد المستخدم

قائمة النشاطات

  • هيا نجعل كائنك المحادث ليسأل المسختدم حيث يجيبه ب’نعم’ أو ‘لا’, لكن بإمكانك تغير السؤال اذا أردت

        when this sprite clicked
    ask [أهلا , ماهو اسمك ؟] and wait
    set [name v] to (الاجابة)
    say <join [أهلا ] (namee)> for (2) secs
    ask <join [هل أنت على مايرام؟ ] (name)> and wait
    if ((answer)=[نعم]) then
        say [هذا جيد جدا!] for (2) secs
    end

    لاحظ أنك الآن حفظت اسم المستخدم في متغير,بامكانك استعماله كما تريد و عدة مرات أيضا.

  • ‘لتجربت البرنامج بنجاح, تحتاج لترجبته مرتين-واحدة بلا و الأخرى بنعم.من المفروض أن تتلقى الرد من الكائن ’اذا’– أجبته ب’نعم .

  • مشكلة كائنك أنه لا يرد على الاجابة ب ‘لا’.يمكنك اصلاحه من خلال تغيير القطعة ‘اذا’– ‘الى اذا/وإلا’– حتى يبدو برنامجك متل الآتي:

        when this sprite clicked
    ask [أهلا , ما هو اسمك؟] and wait
    set [الاسم] to (answer)
    say <join [أهلا  ] (name)> for (2) secs
    ask <join [هل أنت على ما يرام ! ] (name)> and wait
    if ((answer)=[نعم]) then
        say [هذا جيد جدا؟] for (2) secs
    else
        say [أووو لا !] for (2) secs
    end

  • اذا جربت برنامجك ,سوف ترى الآن أنك تحصل على الرد اذا أجبت ب نعم أو لا .من المفترض أن كائنك المحادث سيرد ب هذا جيد جدا

    screenshot

  • بإمكانك ادخال أي برمجة داخل القطعة ‘اذا’– أو ‘وإلا’–,ليس فقط البرمجة التي تجعله يتكلم .على سبيل المثال, باستطاعتك تغيير مظهر الكائن كي تتوافق مع الاجابة .

    اذا ألقيت نظرة على المظاهر لكائنك المحادث,سوف تجد أنه يملك عدة مظاهر.أيظا يمكنك دائما اظافة مظاهر أخرى.

    screenshot

    يمكنك استعمال هته المظاهر كجزء من استجابة الكائن لك , من خلال اظافتك للبرمجة التالية:

    screenshot

  • جرب برنامجك ,من المفروض أن ترى وجه الكائن قد تغير على حسب اجابتك.

    screenshot

احفظ ملفك

تحدي: قرارات اظافية

برمج كائنك ليسأل سؤالا آخر ليجيبك ب ‘نعم’ أو ‘لا’ .هل بامكانك جعل كائنك يرد لك باجابة ؟

screenshot

احفظ مشروعك

المرحلة الرابعة : تغيير الموقع

بامكانك أيضا برمجة كائنك لتغيير موقعه.

قائمة النشاطات

  • اضف خلفية اخرى لمنصتك, خلفية ‘القمر’ على سبيل المثال

    screenshot

  • الآن يمكنك تغيير موقعه باضافتك لهذه البرمجة لكائنك:

        اسأل [أنا ذاهب الى القمر, هل تود الذهاب معي] وانتظر
    <(الإجابة) = [yes]> إذا
       غيّر الخلفية إلى [moon v]
    end

  • يتوجب عليك أيضا أن تجعل كائنك المتحدث في الفضاء الخارجي لدى تكلمك معه .اضف هذه القطعة البرمجية فوق باقي القطع:

    screenshot

  • تفقد برنامجك و أجب ب نعم عندما يسألك اذا تريد الذهاب معه الى القمر.من المفترض أن ترى موقع الكائن قد تغير.

    screenshot

  • هل كائنك المتحدث سيغر مكانه اذا اجبته ب ‘لا’ ؟

  • بامكانك أيضا اضافة هذة القطعة البرمجية’اذا ,لجعل كائنك يفز 4 مرات اذا كانت الاجابة ب ‘نعم’ كالآتي:

    repeat (4)
    change y by (10)
    wait (0.1) secs
    change y by (-10)
    wait (0.1) secs
end

    screenshot

  • جرب كائنك المتحدث مجددا .هل يقفز عندما تجيبه ب ‘نعم’؟

احفظ مشروعك

تحدي: صمم كائنك المتحدش الخاص

استخدم ما تعلمته لانهاء كائنك الخاص . اليك بعض الافكار :
screenshot

عند انتهائك من انشاء مشروعك الخاص , اخبر أصدقائك.هل أعجبهم مشروعك ؟ هل تعرفو عل أية أخطاء فيه ؟

احفظ مشروعك