سنقوم في هذا المشروع ببرمجة لعبة Whac-A-mole المسلية من خلال استخدام عصا التحكم و RGB وحساب النقاط وعرضها على وحدة عرض 7-segment
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/ezgif.com-gif-maker-2.gif)
الأدوات المطلوبة
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/04/Inventor-Electronic-Kit.jpg)
القطع المستخدمة
سنستخدم في هذا المشروع القطع التالية:
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/أدوات.png)
طريقة التوصيل
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/circuit-1.png)
المنفذ | القطعة الالكترونية |
منفذ3 | RGB LED |
منفذ4 | 7-segment |
منفذ6 | عصا التحكم joystick |
الفكرة البرمجية
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/led-rgb.png)
تحتوي وحدة RGBعلى 4 LED سنقوم ببرمجتها لتتم إضاءتها عشوائيا وبشكل سريع ، ونلاحق هذه الإضاءة عبر عصا التحكم، عند توافق توجيه العصا باتجاه LED المضاءة يتحول لونها من الأزرق إلى الأحمر وتسجيل نقطة تظهر على وحدة عرض 7-segment
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/Me_Joystick_V1.1_1__75173-800x800.jpg)
تتحرك عصا التحكم في اتجاهات مختلفة ، نحتاج لاختبارها وتحديد القيمة التي تعطيها في كل اتجاه .
نقوم بتوصيل عصا التحكم باللوحة Orion في المنفذ 6
واستخدام الكود التالي لعرض القراءة على الشاشة
قم بتحريك عصا التحكم في اتجاه Y أعلى وأسفل وفي اتجاه X يمينا ويسارًا وتسجيل القيمة التي تعطيها في كل اتجاه لنستخدم هذه القيم في برمجة اللعبة
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/X-Y.png)
برمجة المشروع
سنحتاج بداية لانشاء 4 متغيرات
المتغير | الوظيفة |
LED | يشير إلى رقم LED في وحدة RGB |
Score | لتسجيل النقاط عند التصويب |
X | لتخزين قيمة حركة عصا التحكم في اتجاه X |
Y | لتخزين قيمة حركة عصا التحكم في اتجاه y |
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/vairables-1.png)
نبدأ الكود بتعيين قيمة RGB LED وحدة 7-segment على قيمة 0
وتعيين العداد على 0
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/start-code.png)
داخل حلقة Forever
نقوم بتعيين المتغير LED بحيث تتغير القيمة بصورة عشوائية من 0 – 4 وفق عدد LED أو من 0-8 لتقليل سرعة التغير في الإضاءة
ثم نضع أمر إضاءة LED بحيث تضاء حسب الرقم العشوائي كل مرة
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/forever.png)
نقوم بتعيين المتغيرين X و Y على حركة عصا التحكم Joystick
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/led-set-joy.png)
نستخدم جملتين شرطيتين if ..then
بحيث إذا كانت قيمة LED تساوي 1 (أي LED1 مضاءة)
وتم تصويب عصا التحكم في اتجاه LED (نضع قيمةY وفق القيمة التي حصلنا عليها عند اختبار عصا التحكم)
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/07/led1.jpg)
نضيف الأمر بحيث تتغير الإضاءة من أزرق إلى أحمر
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/ser-led-led.png)
وتسجيل نقطة في المتغير Score
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/plus-point.png)
وعرض عدد النقاط على وحدة 7-segment
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/05/set-score.png)
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/07/t3.jpg)
يتم كتابة الأكواد للاتجاهات و LED الأخرى بنفس الطريقة مع وضع القيم المناسبة
قم بالإطلاع على الكود كاملا :
![makeblock-whac-a-mole](https://geeksvalley.com/wp-content/uploads/2017/07/t8-1-422x1024.png)
وللمزيد من المعلومات حول الكود يمكنك مراجعة درس جولة حول الأوامر البرمجية.