جدول المحتويات:

ما هو التفكير قليلا؟ اصنع لعبة تخمين بسيطة مع BBC Microbit: 10 خطوات
ما هو التفكير قليلا؟ اصنع لعبة تخمين بسيطة مع BBC Microbit: 10 خطوات

فيديو: ما هو التفكير قليلا؟ اصنع لعبة تخمين بسيطة مع BBC Microbit: 10 خطوات

فيديو: ما هو التفكير قليلا؟ اصنع لعبة تخمين بسيطة مع BBC Microbit: 10 خطوات
فيديو: سأعرف عمرك الحقيقي وستندهش من الطريقة، تحدى بها أصدقائك 2024, يوليو
Anonim
ما هو التفكير قليلا؟ اصنع لعبة تخمين بسيطة مع BBC Microbit!
ما هو التفكير قليلا؟ اصنع لعبة تخمين بسيطة مع BBC Microbit!

التقطت زوجًا من BBC Microbits بعد قراءة تعليقات إيجابية عنها في العديد من المقالات عبر الإنترنت.

في محاولة للتعرف على BIT ، لعبت مع Microsoft Blocks Editor عبر الإنترنت لبضع ساعات وابتكرت لعبة تخمين بسيطة.

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

أخيرًا ، يمكن للجمهور المتحمس الانتقال إلى جهاز المحاكاة عبر الإنترنت وإعطاء هذه اللعبة البسيطة فرصة.

هيا بنا نبدأ.

الخطوة 1: قبل البدء …

قبل البدء …
قبل البدء …
قبل البدء …
قبل البدء …

الأجهزة

من السهل التعرف على لوحة BBC Microbit. بالنسبة إلى IBLE هذا ، كل ما تحتاج إلى معرفته هو أنها لوحة صغيرة بها زري ضغط ومجموعة من مصابيح LED الصغيرة ومقبس USB صغير يعمل كمصدر للطاقة ووسيلة لتحميل برنامج على اللوحة.

يمكن برمجة مجموعة مصابيح LED الصغيرة لتضيء بأنماط مختلفة.

ملحوظة:

لا تحتاج إلى اللوحة المادية لهذا IBLE! يحتوي موقع BBC Microbit على جهاز محاكاة عبر الإنترنت لاختبار الكود الذي تقوم بتطويره عبر الإنترنت.

البرنامج

لا يخوض IBLE هذا في التفاصيل حول بدء استخدام BBC Microbit و / أو محرر القوالب عبر الإنترنت.

يتم تشجيع الجمهور على استكشاف مورد BBC Micorbit هذا قبل الانتقال إلى الخطوات التالية.

تم تصميم BBC Microbit لتعليم البرمجة باستخدام نهج سهل الاستخدام للغاية ، وبالتالي فإن الإلمام بلغة برمجة أخرى أمر رائع ، ولكن ليس مطلوبًا خاصة إذا كنت ستستخدم Microsoft Blocks Editor لتعلم البرمجة.

ومع ذلك ، لم أجد بعد منتجًا من السهل جدًا البدء به من BBC Microbit ، نظرًا لأنني أملك وألعب مع العديد من منصات برمجة وحدات التحكم الصغيرة الأخرى.

الخطوة الثانية: قواعد لعبة التخمين

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

قواعد اللعبة كما يلي:

  1. عند التشغيل ، تفكر BIT في رقم وتتحدى اللاعب البشري لتخمين ما هو هذا الرقم عن طريق طباعة رسالة على لوحة LED الخاصة بها ، وتنتظر إجابة
  2. يخمن اللاعب ويدفع زر الضغط الأيسر (أ) عدة مرات مثل الإجابة - مثال ، إذا خمن اللاعب 5 مرات ، فسيتم الضغط على الزر 5 مرات
  3. لتقديم الإجابة إلى BIT ، يضغط اللاعب على الزر الأيمن (B) مرة واحدة!
  4. إذا كان تخمين اللاعبين صحيحًا ، فسيحرز اللاعب نقطة ، وإذا لم يكن BIT يحصل على نقطة
  5. إذا خمّن أحد اللاعبين رقمًا خارج النطاق ، فإن اللاعب الآخر يسجل نقطة - تعرض BIT علامة X كبيرة على شاشة LED الخاصة بها وتواصل تخمين رقم جديد وتكرار التحدي ؛ مثال: إذا تحداك BIT في تخمين رقم بين 1 و 5 ، وتوقعت 6 ، أو إذا خمنت الصفر (ببساطة عن طريق الضغط على الزر B قبل الضغط على الزر A) ، فسيتم إبطال هذه الجولة
  6. يستمر رد التحدي حتى يسجل أحد اللاعبين أكبر عدد مسموح به من النقاط

بدء لعبة جديدة:

لبدء لعبة جديدة في أي وقت ، ما عليك سوى اهتزاز BIT! أو ببساطة افصل الطاقة وأعد توصيلها.

الخطوة الثالثة: برنامج الكتل: المتغيرات

برنامج الكتل: المتغيرات
برنامج الكتل: المتغيرات

يستخدم البرنامج بعض المتغيرات المسماة لتتناسب مع وظائفها المدرجة أدناه. يمكن إنشاء هذه المتغيرات بالنقر فوق علامة التبويب "برمجة المتغيرات" في محرر الكتل

BIT_SCORE - يتتبع النقاط التي سجلها BIT

bitGuessed - يحتفظ هذا المتغير بالقيمة العشوائية التي تخمنها BIT

تحقق - عند التعيين على True ، يتحقق BIT مما إذا كان تخمين اللاعبين يساوي تخمين BITs

GAME_RANGE - يحد هذا الرقم من مدى ارتفاع BIT أو يمكن للاعب تخمينه

مثال: إذا تم التعيين على 6 ، يمكن لأي من اللاعبين التخمين من 1 إلى 6

MSG - سلسلة يتم تغييرها لعرض رسائل مختلفة بناءً على سياق اللعبة

PLAYER_SCORE - يتتبع النقاط التي سجلها اللاعب

playerGuess - يتم تسجيل الرقم الذي خمّنه اللاعب في هذا المتغير

ملاحظة

المتغير الأول المسمى العنصر هو متغير عام وافتراضي ويمكن تجاهله

الخطوة 4: الوظائف

وظائف
وظائف

كجزء من عملية التعلم ولتحسين التنظيم ، تم تنظيم الكود في عدد من الوظائف التي يمكن استدعاؤها أو استدعائها في البرنامج الرئيسي. تمامًا مثل المتغيرات ، يمكن إنشاء الوظائف والوصول إليها من خلال النقر فوق علامة التبويب Advanced> Functions Programming.

فيما يلي وصف موجز للوظائف:

announceWinner - تطبع هذه الوظيفة رسالة الفوز الموجهة إلى اللاعب الفائز

doChallenge - الوظيفة التي تستدعيها BIT لتخمين رقم وتشكل تحديًا للاعب

showBadGuess - يعرض رسالة بعلامة X ضخمة على لوحة LED إذا خمّن أي من اللاعبين خارج النطاق المسموح به

showLose - يسمى هذا إذا فازت BIT بجولة من التحدي على اللاعب

showMessage - يقدم رسالة لتحدي اللاعب لتخمين رقم ضمن نطاق معين

showWin - يتم استدعاؤه عندما يربح اللاعب جولة التخمين على BIT

الخطوة 5: بدء تشغيل البرنامج و Shake Events & Event Handlers

بدء تشغيل البرنامج وهز الأحداث ومعالجات الأحداث
بدء تشغيل البرنامج وهز الأحداث ومعالجات الأحداث

"عند البدء" و "عند الاهتزاز" هما معالجات الأحداث التي يتم استدعاؤها على التوالي عند وقوع حدث "البدء" وحدث "الاهتزاز". كما يتضح من كود Blocks ، فإن ما يحدث عندما يتم استدعاء معالجي الأحداث هذين يكونان هو نفسه تقريبًا كما في:

  • يتم استدعاء وظيفة showMessage () لعرض الرسالة عندما تبدأ اللعبة
  • هناك توقف مؤقت قصير مدته 650 ملي ثانية بعد ظهور الرسالة
  • يتم استدعاء وظيفة doChallenge () حيث تخمن BIT رقمًا وتنتظر حتى يقدم اللاعب البشري تخمينًا

سنغطي الوظيفتين في الخطوة التالية.

ومع ذلك ، هناك اختلافات جوهرية بين معالجي الأحداث "عند البدء" و "عند الاهتزاز":

  1. يعمل معالج الحدث "عند البدء" في كل مرة يتم فيها تشغيل BIT - كما هو الحال في فصل الطاقة وإعادة توصيلها بـ BIT
  2. يتم تحديد بعض الأشياء التي يجب أن تحدث مرة واحدة فقط عند بدء تشغيل البرنامج في "عند البدء" وليس في أي مكان آخر في البرنامج بأكمله
  3. أحد هذه الأشياء هو تهيئة متغير GAME_RANGE - في هذه الحالة ، يتم تهيئته إلى 6 مما يعني أنه يمكن للاعبين تخمين رقم بين 1 و 6
  4. نظرًا لأن "عند البدء" هي وظيفة BIT أساسية ، فلا عجب أنه يمكن الوصول إليها من علامة تبويب البرمجة الأساسية في محرر الكتل
  5. من ناحية أخرى ، فإن "on shake" عبارة عن معالج حدث يتم استدعاؤه كلما قدم المستخدم إدخالاً إلى BIT في شكل اهتزاز سريع
  6. لذلك ، يمكن العثور على معالج الحدث "عند الاهتزاز" داخل علامة تبويب برمجة الإدخال في محرر الكتل

الخطوة 6: رسالة بدء التشغيل ووظائف التحدي

رسالة بدء التشغيل ووظائف التحدي
رسالة بدء التشغيل ووظائف التحدي
رسالة بدء التشغيل ووظائف التحدي
رسالة بدء التشغيل ووظائف التحدي
رسالة بدء التشغيل ووظائف التحدي
رسالة بدء التشغيل ووظائف التحدي

وظيفة showMessage () Startup Message هي وظيفة بسيطة تقوم بمسح لوحة BITs LED مع أمر شاشة واضح وتعرض رسالة تمرير تتحدى اللاعب لتخمين رقم.

كما يتضح من كتلة وظيفة showMessage ، يتم إلحاق قطعتين ثابتتين من السلسلة معًا بمتغير GAME_RANGE لعرض رسالة بسيطة تقول:

تخمين 0 - 6!

يتم استدعاء وظيفة doChallenge () في بداية كل جولة تحدي ، وبالتالي تقوم بما يلي كما هو موضح من كتلة وظيفة doChallenge:

  1. يقوم بتهيئة متغير playerGuess إلى الصفر قبل قبول إدخال جديد من اللاعب البشري
  2. يقوم بتهيئة متغير CHECK إلى خطأ - مما يعني أن الجولة على وشك البدء ولم يحن الوقت بعد لمقارنة الأرقام التي توقعها كلا اللاعبين
  3. بعد ذلك ، والأكثر أهمية ، يختار BIT رقمًا عشوائيًا ضمن النطاق المحدد بواسطة GAME_RANGE ويسجله في متغير bitGuessed
  4. أخيرًا ، تضاء لوحة LED برمز علامة استفهام يحث اللاعب البشري على إدخال استجابة لتحدي BITs!

ملحوظة

إذا تم تغيير قيمة المتغير GAME_RANGE كما تمت مناقشته في الخطوة السابقة ، فقد تبدو لعبتك مختلفة قليلاً وتعمل بها.

وظيفة الانضمام هي وظيفة سلسلة ويمكن الوصول إليها من علامة تبويب البرمجة النصية في محرر الكتل

الخطوة 7: الزر حدث نقرة - استجب لتحدي BITs

الزر حدث نقرة - الاستجابة لتحدي معاهدات الاستثمار الثنائية!
الزر حدث نقرة - الاستجابة لتحدي معاهدات الاستثمار الثنائية!

بمجرد ظهور علامة الاستفهام الكبيرة على شاشة BITs LED ، يكون الرد على التحدي الذي يواجهه اللاعب البشري هو القيام بما يلي ببساطة:

  1. خمن الرقم الذي قد يفكر فيه BIT بين 0 و 6
  2. اضغط على الزر (أ) عدة مرات مثل إجابتك - مثال إذا كانت إجابتك 3 ، ثم اضغط على الزر أ 3 مرات

من الواضح أن الضغط على الزر هو إدخال المستخدم وبالتالي يمكن الوصول إلى معالج الأحداث "على الزر" عبر علامة تبويب برمجة الإدخال في محرر الكتل. في كل مرة يضغط المستخدم على الزر A ، يقوم معالج الأحداث هذا بما يلي:

  • قم بزيادة قيمة متغير playerGuess بمقدار 1 طالما أنه ضمن حد GAME_RANGE (6 في هذه الحالة)
  • إذا أرسل اللاعب 7 أو أعلى ، فسيتم إبطال التخمين وإعادة تعيين playerGuess إلى الصفر ، مما يؤدي بشكل أساسي إلى إبطال تخمين اللاعبين

يتمثل الإجراء التالي في تقديم الرد على التحدي ، والذي سننتقل إليه في الخطوة التالية.

الخطوة 8: حدث النقر على الزر B - إرسال استجابة لتحدي BITs

حدث النقر على الزر "ب" - إرسال الرد على تحدي اتفاقيات الاستثمار الثنائية!
حدث النقر على الزر "ب" - إرسال الرد على تحدي اتفاقيات الاستثمار الثنائية!
حدث النقر على الزر B - إرسال الرد على تحدي اتفاقيات الاستثمار الثنائية!
حدث النقر على الزر B - إرسال الرد على تحدي اتفاقيات الاستثمار الثنائية!

يرسل اللاعب البشري الإجابة إلى BIT بالضغط على الزر B مرة واحدة. يحدث عدد من الخطوات في معالج حدث الزر B "عند النقر" بمجرد أن يتلقى BIT إجابة اللاعبين كما هو موضح بواسطة علامات الرمز في الصورة:

  1. تم تعيين علامة CHECK على True - إشارة إلى BIT لمقارنة تخمينها بتخمين اللاعبين
  2. تستمر عملية التسجيل فقط إذا كان كلا اللاعبين قد خمنوا أرقامًا أكبر من الصفر وضمن حد GAME_RANGE (6) وإذا لم يكن الأمر كذلك ، يتم استدعاء وظيفة showBadGuess () - يفوز لاعب التخمين الجيد بنقطة ، ويخسر لاعب التخمين السيئ نقطة واحدة!
  3. إذا كان اللاعبون يخمنون تطابق اتفاقيات الاستثمار الثنائية ، فسيتم استدعاء وظيفة showWin () - يفوز اللاعب بهذه الجولة!
  4. إذا لم يكن الأمر كذلك ، فسيتم استدعاء وظيفة showLose () - تفوز BIT بهذه الجولة!
  5. يتم إجراء فحص في نهاية كل جولة بواسطة وظيفة announceWinner () لمعرفة ما إذا كان أحد اللاعبين قد ربح بتسجيل 3 نقاط - إذا كان الأمر كذلك ، تنتهي اللعبة ويتم الإعلان عن الفائز النهائي ويتم الإعلان عن جميع النتائج والرسائل إعادة تعيين
  6. يقوم BIT بإعادة تشغيل اللعبة عن طريق إصدار تحدي عن طريق استدعاء وظيفة doChallenge () وينتظر أن يستجيب اللاعب وتتكرر العملية

سنناقش الوظائف الجديدة في الخطوات التالية.

انتظر! كيف تخمن الصفر؟

  • إذا نظرت إلى دالة الرياضيات العشوائية () ، يمكنك أن ترى أن قيمتها الأولية مضبوطة على الصفر ولا يمكن تغييرها.
  • وبالتالي ، فإن BIT حرة في تخمين الصفر وتحدي اللاعب نتيجة لهذا القيد
  • وبالمثل ، يمكن للاعب البشري تقديم تخمين صفري بمجرد النقر فوق الزر B دون النقر فوق الزر A أولاً!
  • إذا كان هذا مسموحًا به ، فلن يضطر اللاعب البشري إلى بذل أي جهد للعب وهذا لا معنى له!
  • لذلك ، تم تعويض هذا القيد بالنقطة رقم 2. نوقشت أعلاه

الخطوة 9: الفوز / الخسارة وبقية الوظائف

الفوز / الخسارة وبقية الوظائف
الفوز / الخسارة وبقية الوظائف
الفوز / الخسارة وبقية الوظائف
الفوز / الخسارة وبقية الوظائف
الفوز / الخسارة وبقية الوظائف
الفوز / الخسارة وبقية الوظائف

يتم استدعاء كل هذه الوظائف بواسطة معالج الحدث "عند النقر" الزر B كما هو موضح في الخطوة السابقة.

هذه الوظائف مباشرة إلى الأمام وبحلول هذا الوقت يجب أن تكون على دراية بالطبيعة البديهية والسردية للكود الذي تم إنشاؤه من خلال مجموعة من المتغيرات المسماة بشكل مناسب والسمات المرئية لمحرر Blocks.

  1. تعرض الوظيفة showWin () رسالة تشير إلى أن اللاعب قد فاز بجولة التحدي هذه ويزيد متغير PLAYER_SCORE بمقدار 1
  2. وبالمثل ، تعرض وظيفة showLose () اللاعب الذي قام بتخمين خاطئ وتمنح نقطة إلى BIT بزيادة متغير BIT_SCORE بمقدار 1
  3. تعرض وظيفة showBadGuess () علامة X كبيرة على الشاشة تشير إلى أن أحد اللاعبين قد تخمينًا سيئًا (إما 0 أو أكبر من 6) - اللاعب السيئ في هذه الحالة يفقد نقطة ، والآخر يسجل نقطة!

وأخيرًا ، تؤدي وظيفة announceWinner () مهمة الإعلان عن الفائز الكبير بعد 3 جولات من التحدي / الاستجابة يليها:

  • إعادة تعيين متغيري نقاط PLAYER_SCORE و BIT_SCORE
  • التوقف لفترة وجيزة ، وبدء لعبة جديدة عن طريق استدعاء وظيفة بدء التشغيل showMessage () التي تمت مناقشتها في الخطوة السابقة (6) من IBLE

أخيرًا ، ننتقل إلى جهاز المحاكاة والكود!

الخطوة 10: المحاكي والكود

المحاكي والكود
المحاكي والكود

يتم تشغيل الكود في جهاز المحاكاة عبر الإنترنت الموجود هنا

  • يوجد جهاز المحاكاة في الجزء السفلي الأيسر من الصفحة
  • بالتناوب ، يمكن استخدام زر التنزيل لتنزيل الكود في حال كان لديك بي بي سي ميكروبيت
  • كما هو مذكور في بداية IBLE ، لا تحتاج إلى BBC Microbit لإنشاء الكود في Blocks Editor أو لمحاكاة واختبار الكود الخاص بك ، على الرغم من أن هذا لا يعمل مع الأفراد الفضوليين مثلي!

ملاحظة حول زر التحرير

  • إذا لاحظت أن الرمز موجود في المجال العام وهناك طريقة لتحريره باستخدام الزر تحرير في أعلى اليمين
  • ومع ذلك ، أطلب بصدق أن تقوم بعمل نسخة من هذا الرمز وتغييره ليناسب احتياجاتك بحيث يتم الاحتفاظ بالنسخة الأصلية لصالح هذا IBLE

شكرا! وترميز سعيد !!!:-)

موصى به: