Menu
CoddyTech

לולאת while

חלק מהיחידה יסודות במסלול ה-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 נכון. אם כן, הקוד שבתוכה רץ, מדפיס את המספר הנוכחי ומגדיל את המונה. לאחר מכן היא בודקת שוב את התנאי, והתהליך חוזר על עצמו עד שהתנאי נעשה שקרי.

challenge icon

אתגר

קל

צרו מערכת לניטור בריאות שמשתמשת בלולאת while כדי לעקוב אחר תהליך ההתאוששות של שחקן. התחילו ביצירת משתנה בשם playerHealth והקצו לו את הערך 25. לאחר מכן צרו משתנה נוסף בשם maxHealth והקצו לו את הערך 100.

כתבו לולאת while שנמשכת כל עוד בריאות השחקן נמוכה מהבריאות המרבית שלו. בתוך הלולאה, הדפיסו תחילה את ערך הבריאות הנוכחי, ולאחר מכן הגדילו את playerHealth ב-15. מכיוון שההדפסה מתבצעת לפני ההגדלה, הערך האחרון שיודפס יהיה 85: תנאי הלולאה נבדק שוב לאחר ההוספה של 15 (וכך playerHealth שווה ל-100), ומכיוון ש-100 אינו קטן מ-maxHealth, הלולאה נעצרת בלי להדפיס את 100.

הפלט הצפוי הוא:
25
40
55
70
85

נסו בעצמכם

-- אתחלו את בריאות השחקן ואת הבריאות המרבית
local playerHealth = 25
local maxHealth = 100

-- TODO: כתבו את הקוד שלכם כאן
-- צרו לולאת while שתמשיך כל עוד playerHealth < maxHealth
-- בתוך הלולאה: הדפיסו את הבריאות הנוכחית, ואז הגדילו את playerHealth ב-15
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר Lua אונליין