حلقة while
جزء من قسم Fundamentals في رحلة Lua على Coddy — الدرس 71 من 90.
تُعد حلقة while مثالية لهذا الغرض - فهي تستمر في تشغيل نفس الكود مراراً وتكراراً طالما ظل الشرط true.
الصيغة الأساسية لحلقة while تبدو كما يلي:
while condition do
-- الكود المراد تكراره
endإليك مثال بسيط يطبع الأرقام من 1 إلى 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endتعمل هذه الحلقة من خلال التحقق أولاً مما إذا كان count <= 3 صحيحاً. إذا كان الأمر كذلك، يتم تشغيل الكود الموجود بالداخل، مما يؤدي إلى طباعة الرقم الحالي وزيادة العداد. ثم يتم التحقق من الشرط مرة أخرى، وتتكرر العملية حتى يصبح الشرط خاطئاً.
التحدي
سهلأنشئ نظاماً لمراقبة الصحة يستخدم حلقة while لتتبع عملية تعافي اللاعب. ابدأ بإنشاء متغير باسم playerHealth وقم بتعيين القيمة 25 له. ثم أنشئ متغيراً آخر باسم maxHealth وقم بتعيين القيمة 100 له.
اكتب حلقة while تستمر طالما أن صحة اللاعب أقل من الحد الأقصى لصحته. داخل الحلقة، اطبع أولاً قيمة الصحة الحالية، ثم قم بزيادة playerHealth بمقدار 15. نظراً لأن الطباعة تحدث قبل الزيادة، فإن آخر قيمة ستتم طباعتها هي 85 — يتم التحقق من شرط الحلقة مرة أخرى بعد إضافة 15 (مما يجعل playerHealth مساوياً لـ 100)، وبما أن 100 ليست أقل من maxHealth، تتوقف الحلقة دون طباعة 100.
المخرجات المتوقعة هي:2540557085
ورقة مرجعية
تكرر حلقة while الكود طالما ظل الشرط true:
while condition do
-- الكود المراد تكراره
endمثال يطبع الأرقام من 1 إلى 3:
local count = 1
while count <= 3 do
print(count)
count = count + 1
endتتحقق الحلقة من الشرط، وتنفذ الكود إذا كان صحيحاً، ثم تتحقق مرة أخرى حتى يصبح الشرط خاطئاً.
جرّب بنفسك
-- تهيئة صحة اللاعب والصحة القصوى
local playerHealth = 25
local maxHealth = 100
-- TODO: اكتب الكود الخاص بك هنا
-- أنشئ حلقة while تستمر طالما أن playerHealth < maxHealth
-- داخل الحلقة: اطبع الصحة الحالية، ثم قم بزيادة playerHealth بمقدار 15يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات 2: العمليات العلائقية والمنطقية
معاملات التساويالمعاملات العلائقيةالمعامل 'and'المعامل 'or'المعامل 'not'التقييم قصير الدائرةقيم Truthy و Falsyمراجعة - المنطق البسيط10الجداول الجزء 1: نمط القائمة
ما هو الجدول؟إنشاء جدولالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسمعامل الطول '#'table.insert()table.remove()ملخص - إدارة أعضاء الفريق13مشروع: متجر جرعات بسيط
إعداد المشروعإضافة جرعة2المتغيرات وأنواع البيانات
ما هو المتغير؟الأرقامالسلاسل النصيةالقيم المنطقيةالقيمة 'nil'الدالة type()قواعد التسميةمراجعة - ملف الشخصية5الإخراج الأساسي
طباعة القيم الحرفيةطباعة المتغيراتطباعة قيم متعددةدمج النصوص والمتغيراتدالة tostring()الإدخال (Input)التحويل (Cast)مراجعة - تقرير الحالةمراجعة - حتى 1208أساسيات معالجة النصوص
string.len()string.upper و string.lowerstring.sub()string.rep()string.find()مراجعة - تنسيق اسم المستخدم3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازلي