صفحة 429 - كتاب المهارات الرقمية - الصف 10 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب المهارات الرقمية - الصف 10 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 10 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

📚 معلومات الصفحة

الكتاب: كتاب المهارات الرقمية - الصف 10 - الفصل 1 | المادة: المهارات الرقمية | المرحلة: الصف 10 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

📝 ملخص الصفحة

ملخص الصفحة:

تتناول هذه الصفحة خطوات برمجة حركة كائن رسومي (سبرايت) على شاشة LED في بيئة برمجة مايكروسوفت ميك كود (Microsoft MakeCode) باستخدام لغة بايثون (Python) أو الكتل (Blocks).

الخطوات الأساسية لتحريك الكائن الرسومي:

  • إنشاء الكائن الرسومي: يتم إنشاء كائن رسومي جديد (على سبيل المثال، باسم `player`) في موضع محدد على شاشة LED باستخدام الأمر `game.create_sprite(x, y)`. في المثال المذكور، يتم إنشاء الكائن عند الإحداثيات (4,2).
  • ربط حدث بالزر: لربط حركة الكائن بضغط زر (مثل الزر A)، يتم استخدام الأمر `input.on_button_pressed(Button.A, on_button_pressed_a)`، والذي يستدعي دالة معينة عند الضغط على الزر.
  • تعريف الدالة: يتم تعريف الدالة (مثل `def on_button_pressed_a():`) التي تحتوي على الأمر الذي سيتم تنفيذه عند الضغط على الزر.
  • تحريك الكائن: داخل الدالة، يتم استخدام الأمر `sprite.move_by()` (أو `player.move()` في كود بايثون) لتحريك الكائن بمقدار معين من مصابيح LED في الاتجاه الحالي له. في المثال، يؤدي الضغط على الزر A إلى تحريك الكائن (`player`) بمقدار موضع واحد نحو اليسار (بقيمة -1).
  • أوامر برمجية متعلقة بالكائنات الرسومية:

    * `is sprite deleted`: يتحقق مما إذا كان الكائن الرسومي قد تم حذفه من محرك اللعبة (أي لم يعد يظهر على الشاشة أو يتفاعل مع الكائنات الأخرى).

    * `sprite turn direction by (°)`: يقوم بتدوير الكائن الرسومي بمقدار درجات محددة (مثال: 45 درجة).

    النتيجة المتوقعة:

    عند تنفيذ الكود وتجربته على المحاكي، كلما تم الضغط على زر A، يتحرك الكائن الرسومي (اللاعب) خطوة واحدة نحو اليسار حتى يصل إلى الطرف الأيسر من مصفوفة مصابيح LED.

    📋 المحتوى المنظم

    📖 محتوى تعليمي مفصّل

    نوع: محتوى تعليمي

    من فئة Input (الإدخال)، اسحب وأفلت أمر run code on button pressed (عندما يكون زر run code مضغوطاً). من فئة Game (اللعبة)، اسحب وأفلت أمر sprite move by 1 (نقل الكائن الرسومي بمقدار 1)، واكتب player بمقدار 1 داخل الأقواس. اضغط على زر A في المحاكي للتحقق من النتيجة.

    نوع: محتوى تعليمي

    في كل مرة يتم الضغط على زر A يتحرك اللاعب بمقدار موضع ... ناحية اليسار حتى يصل إلى الطرف الأيسر من مصابيح LED

    نوع: محتوى تعليمي

    تحريك الكائن بقيمة محددة من مصابيح LED

    🔍 عناصر مرئية

    Python code showing input.on_button_pressed(Button.A, on_button_pressed_a)

    Shows the 'Game' category in the MakeCode blocks interface, with 'sprite move by 1' block highlighted.

    Shows the 'sprite move by 1' block with the value '1' inside, and a dashed line connecting it to the code.

    A simulation of a Micro:bit device. It shows a sprite moving across the LED display when button A is pressed. The text indicates the sprite moves left by a certain value until it reaches the left edge.

    📄 النص الكامل للصفحة

    من فئة Input (الإدخال)، اسحب وأفلت أمر run code on button pressed (عندما يكون زر run code مضغوطاً). من فئة Game (اللعبة)، اسحب وأفلت أمر sprite move by 1 (نقل الكائن الرسومي بمقدار 1)، واكتب player بمقدار 1 داخل الأقواس. اضغط على زر A في المحاكي للتحقق من النتيجة. في كل مرة يتم الضغط على زر A يتحرك اللاعب بمقدار موضع ... ناحية اليسار حتى يصل إلى الطرف الأيسر من مصابيح LED تحريك الكائن بقيمة محددة من مصابيح LED --- VISUAL CONTEXT --- **CODE_BLOCK**: Untitled Description: Python code showing input.on_button_pressed(Button.A, on_button_pressed_a) Context: Code snippet for handling button press events. **INTERFACE_ELEMENT**: Untitled Description: Shows the 'Game' category in the MakeCode blocks interface, with 'sprite move by 1' block highlighted. Context: Illustrates the block used to move a sprite. **INTERFACE_ELEMENT**: Untitled Description: Shows the 'sprite move by 1' block with the value '1' inside, and a dashed line connecting it to the code. Context: Demonstrates how to set the movement distance for the sprite. **SIMULATION**: Untitled Description: A simulation of a Micro:bit device. It shows a sprite moving across the LED display when button A is pressed. The text indicates the sprite moves left by a certain value until it reaches the left edge. Context: Visual representation of the code's execution, showing sprite movement on the LED display.

    🎴 بطاقات تعليمية للمراجعة

    عدد البطاقات: 3 بطاقة لهذه الصفحة

    في برمجة MakeCode للميكروبيت، ما الغرض من أمر 'sprite move by 1' الموجود في فئة 'Game'؟

    • أ) تغيير شكل الكائن الرسومي إلى رمز مختلف.
    • ب) تشغيل صوت عند لمس الكائن الرسومي.
    • ج) تحريك الكائن الرسومي (sprite) بمقدار موضع واحد على مصابيح LED.
    • د) حذف الكائن الرسومي من شاشة العرض.

    الإجابة الصحيحة: c

    الإجابة: تحريك الكائن الرسومي (sprite) بمقدار موضع واحد على مصابيح LED.

    الشرح: 1. أمر 'sprite move by 1' هو كتلة برمجية في بيئة MakeCode. 2. يتم سحبها وإفلاتها من فئة 'Game'. 3. وظيفتها الأساسية هي تغيير موقع الكائن الرسومي (sprite) على شاشة LED. 4. القيمة '1' داخل الأقواس تحدد المسافة التي يتحركها الكائن في كل مرة.

    تلميح: فكر في الإجراء الذي يتم تنفيذه على العنصر المرئي عند استخدام هذا الأمر.

    التصنيف: تعريف | المستوى: سهل

    ما الإجراء البرمجي الذي يجب ربطه بحدث الضغط على زر A في الميكروبيت لتحريك كائن رسومي؟

    • أ) استخدام أمر 'forever' من فئة 'Loops' لتكرار التحريك تلقائياً.
    • ب) استخدام أمر 'on button pressed' من فئة 'Input' وربطه بأمر تحريك الكائن.
    • ج) كتابة قيمة 'player' مباشرة في شاشة المحاكي.
    • د) استخدام أمر 'show number' من فئة 'Basic' لعرض رقم.

    الإجابة الصحيحة: b

    الإجابة: استخدام أمر 'on button pressed' من فئة 'Input' وربطه بأمر تحريك الكائن.

    الشرح: 1. لربط حدث الضغط على زر بتنفيذ إجراء، نستخدم كتلة 'on button pressed'. 2. هذه الكتلة موجودة في فئة 'Input' (الإدخال). 3. يتم سحبها وإفلاتها في منطقة البرمجة. 4. يتم تحديد الزر (مثل A) داخل الكتلة. 5. يتم وضع كتلة 'sprite move by' داخل كتلة الحدث لتنفيذ التحريك عند الضغط.

    تلميح: فكر في الكتلة البرمجية المسؤولة عن الاستجابة لأحداث الأزرار.

    التصنيف: صيغة/خطوات | المستوى: متوسط

    في سياق البرنامج الموضح، ماذا سيحدث إذا استمر المستخدم في الضغط على زر A؟

    • أ) سيبدأ الكائن في الوميض بشكل عشوائي.
    • ب) سيستمر الكائن الرسومي في التحرك نحو اليسار حتى يصل إلى الطرف الأيسر لشاشة LED.
    • ج) سيتوقف البرنامج عن العمل ويظهر رسالة خطأ.
    • د) سيتحرك الكائن دورة كاملة حول شاشة LED.

    الإجابة الصحيحة: b

    الإجابة: سيستمر الكائن الرسومي في التحرك نحو اليسار حتى يصل إلى الطرف الأيسر لشاشة LED.

    الشرح: 1. كل ضغطة على زر A تؤدي إلى تنفيذ الكود الموجود داخل حدث 'on button pressed'. 2. هذا الكود يحتوي على أمر 'sprite move by -1' (تحريك بمقدار -1 يعني نحو اليسار). 3. بالتالي، كل ضغطة تسبب حركة خطوة واحدة لليسار. 4. ستستمر هذه الحركة مع كل ضغطة حتى يمنع حافة الشاشة الكائن من التحرك أكثر.

    تلميح: فكر في نتيجة تكرار تنفيذ نفس الإجراء المرتبط بحدث الضغط على الزر.

    التصنيف: تفكير ناقد | المستوى: متوسط