تكرّر العديد من الأشياء في علوم الكمبيوتر أو تطوير الألعاب بشكل متكرر. على سبيل المثال، قد تقوم تطبيق بتحديث المحتوى في خلاصة كل بضع ثوان، أو قد يمنح لعبة اللاعبين جائزة كل يوم يكونون فيه متصلين. لتحقيق هذا السلوك، يستخدم المبرمجون غالبًا الحلقات.
في علوم الكمبيوتر، الحلقة هي نمط برمجي يكرر مجموعة من التعليمات، غالبًا حتى يتم تلبية شرط معين. لممارسة ذلك، ستقوم ببرمجة جزء يتغير لونه إلى أجل غير مسمى. ستظهر الدروس لاحقًا كيفية إيقاف التكرار.
إعداد الجزء والشيفرة
استخدم أي مشروع روبلوكس لهذا التمرين. عند الانتهاء، يمكن استخدام هذا الجزء كوسيلة لتزيين بيئة.
أنشئ جزءًا جديدًا باسم وصفي. يستخدم هذا الدرس LoopingPart.
في ServerScriptService، أضف شيفرة جديدة باسم LoopingScript.
في الشيفرة، احذف Hello World واكتب تعليقًا يوضح الغرض من هذه الشيفرة.
-- يغير لون LoopingPart كل بضع ثوان
استخدام المتغيرات لتخزين جزء
يمكن أن تحتوي المتغيرات أيضًا على مراجع للأشياء بخلاف السلاسل النصية. على سبيل المثال، عندما تعرف الشيفرة المرجع لجزء، يمكن للشيفرة تغييره.
بدلاً من كتابة workspace.NameOfYourPart مرارًا وتكرارًا، يمكن تخزين ذلك السطر بالكامل داخل متغير محلي. يتم إنشاء المتغيرات المحلية بكتابة local ثم اسم المتغير.
على سبيل المثال: local nameOfVariable.
تحت التعليق، أنشئ متغيرًا محليًا بكتابة local loopingPart.
-- يغير لون LoopingPart كل بضع ثوانlocal loopingPartاضبط المتغير على الجزء المتكرر بكتابة = workspace.LoopingPart على نفس السطر. تذكر أن عامل التشغيل = يضبط قيمة المتغير على ما هو على يمينه.
-- يغير لون LoopingPart كل بضع ثوانlocal loopingPart = workspace.LoopingPart
حلقات while
قبل إنشاء حلقة while للجزء المتغير اللون، من المفيد أن نوضح تركيبها. تحتوي حلقة while على ثلاثة مكونات:
- الكلمة المفتاحية while.
- شرط، دائمًا بعد الكلمة المفتاحية.
- تعليمات، بين الكلمتين do و end.
في الحلقات، يمكن أن تكون الشروط مجموعة متنوعة من العبارات المنطقية. قد تكون بعض الأمثلة إذا كان عددين متساويين. ستعمل الحلقة إذا كان شرطها صحيحًا.
لاحظ في العينة أدناه، أن الشرط صحيح، مما يعني أن هذه الحلقة ستستمر إلى الأبد. في الدروس اللاحقة، ستبرمج شروطًا محددة توقف.
while true doprint("هذه الحلقة تعمل")end
برمجة حلقة while
التالي، ستقوم بإعداد حلقة while لجزء تغير اللون.
على السطر التالي اكتب while true do. ثم، اضغط Enter لإكمال التلقائي وإضافة كلمة end.
-- يغير لون loopingPart كل بضع ثوانlocal loopingPart = workspace.LoopingPart-- الكود المتكررwhile true doend
إضافة الشيفرة في الحلقة
مع إنشاء حلقة while، يمكن إضافة التعليمات لتغيير لون الجزء مع مرور الوقت. داخل الحلقة، أضف سطر الشيفرة لكل لون. سيستخدم كل لون قيم RGB، وهي طريقة لتخزين الألوان كأرقام في علوم الكمبيوتر.
بين while true do و end، اضبط خاصية اللون للجزء على Color3.fromRGB().
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endيمكن ضبط اللون باستخدام منتقي الألوان في الاستوديو. للقيام بذلك، انقر بزر الماوس الأيسر داخل () بجانب fromRGB. ثم، انقر على رمز عجلة الألوان. بمجرد أن تحصل على لون مرغوب، اضغط على "موافق" لإضافة قيمة اللون تلقائيًا في الشيفرة.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
جعل الشيفرة تنتظر
إذا قمت بإضافة سطر ثانٍ من الشيفرة المتغيرة للون الآن، فإنه سيغير لون الطوب بسرعة قد لا تراها حتى. لجعل الشيفرة تنتظر قبل تنفيذ السطر التالي، استخدم دالة task.wait().
على السطر بعد تغيير لون الطوب، اكتب task.wait(3). أي عدد تم وضعه داخل () هو عدد الثواني التي ستنتظرها الشيفرة.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endتحت دالة الانتظار، كرر نفس عملية إضافة لون جديد. أنهِ ذلك بدالة انتظار إضافية.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endاختبر الشيفرة وراقب فيما إذا كانت الألوان تتغير.
ملاحظات عن استكشاف الأخطاء
في هذه المرحلة، إذا لم يعمل الجزء المتغير اللون كما هو متوقع، جرب أحد الخيارات التالية أدناه.
المشكلة: الألوان يتم تخطيها
- تأكد من أنك لديك دالة انتظار بين كل تغيير لون، خاصة في السطر الأخير.
- تحقق من أن كل كود تغيير اللون والانتظار موجود بين أقسام while true do و end.
المشكلة: الجزء لا يزال رماديًا أو لا يتغير لونه كما هو مقصود
- تأكد من أن جميع قيم RGB تحتوي على أرقام من 0 إلى 255، وتكون صحيحة أو عشرية، وتفصل بينها فاصلات.
- يجب أن تكون الأرقام داخل () لدالة الانتظار أكبر من 1. من الممكن أنه إذا كانت فترة الانتظار قصيرة جدًا، قد لا ترى ذلك اللون.
شيفرة الجزء المتكرر اللون الكامل
-- إنشاء متغير لتخزين الجزءlocal loopingPart = workspace.LoopingPart-- الكود المتكررwhile true do-- يغير لون loopingPartloopingPart.Color = Color3.fromRGB(82, 227, 255)-- انتظر 3 ثوانٍ قبل التعليمات التاليةtask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
الملخص
الحلقات هي عنصر شائع في معظم لغات الكمبيوتر. تستخدم لتكرار التعليمات، أحيانًا حتى يتم تلبية شروط معينة. في هذه المقالة، يتم استخدام حلقة while لتكرار التعليمات إلى الأبد. لإنشاء حلقة while تتكرر إلى الأبد، استخدم التركيبة أدناه، وتأكد من تضمين التعليمات بين الكلمات do و end.
while true do-- التعليماتend