לולאת 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 הוא true. אם כן, הקוד שבתוכה רץ, מדפיס את המספר הנוכחי ומגדיל את המונה. לאחר מכן היא בודקת שוב את התנאי, והתהליך חוזר על עצמו עד שהתנאי הופך ל-false.
אתגר
קלצרו מערכת לניטור בריאות שמשתמשת בלולאת while כדי לעקוב אחר תהליך ההתאוששות של שחקן. התחילו ביצירת משתנה בשם playerHealth והשימו בו את הערך 25. לאחר מכן צרו משתנה נוסף בשם maxHealth והשימו בו את הערך 100.
כתבו לולאת while שנמשכת כל עוד בריאותו של השחקן נמוכה מבריאותו המרבית. בתוך הלולאה, הדפיסו תחילה את ערך הבריאות הנוכחי, ואז הגדילו את playerHealth ב-15. מכיוון שההדפסה מתבצעת לפני ההגדלה, הערך האחרון שיודפס יהיה 85: תנאי הלולאה נבדק שוב לאחר הוספת 15 (כך ש-playerHealth יהיה שווה ל-100), ומכיוון ש-100 אינו קטן מ-maxHealth, הלולאה נעצרת בלי להדפיס את 100.
הפלט הצפוי הוא:2540557085
נסו בעצמכם
-- אתחלו את בריאות השחקן ואת הבריאות המרבית
local playerHealth = 25
local maxHealth = 100
-- TODO: כתבו את הקוד שלכם כאן
-- צרו לולאת while שנמשכת כל עוד playerHealth < maxHealth
-- בתוך הלולאה: הדפיסו את הבריאות הנוכחית, ואז הגדילו את playerHealth ב-15השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים 2: יחסים ולוגיקה
אופרטורי שוויוןאופרטורים יחסייםהאופרטור 'and'האופרטור 'or'האופרטור 'not'הערכה בקצר חשמליערכים אמתיים ושקרייםסיכום – לוגיקה פשוטה10טבלאות חלק 1: בסגנון רשימה
מהי טבלה?יצירת טבלהגישה לאיברים לפי אינדקסשינוי איברים לפי אינדקסאופרטור האורך '#'table.insert()table.remove()סיכום - ניהול חברי החבורה13פרויקט: חנות שיקויים פשוטה
הגדרת הפרויקטהוספת שיקוי2משתנים וסוגי נתונים
מהו משתנה?מספריםמחרוזותערכים בוליאנייםהערך 'nil'הפונקציה type()מוסכמות למתן שמותסיכום – פרופיל דמות5פלט בסיסי
הדפסת ערכים מילולייםהדפסת משתניםהדפסת ערכים מרוביםשילוב מחרוזות ומשתניםהפונקציה tostring()קלטהמרת טיפוסיםסיכום – דוח מצבסיכום – עד 1208יסודות עיבוד מחרוזות
string.len()string.upper ו־string.lowerstring.sub()string.rep()string.find()חזרה – עיצוב שם משתמש3אופרטורים 1: חשבון ושרשור
אופרטורים אריתמטייםאופרטור מודולואופרטור חזקהשרשור מחרוזותקדימות אופרטוריםסיכום – חישובים פשוטים9יסודות הפונקציות
הגדרת פונקציהקריאה לפונקציהפונקציות עם פרמטריםפונקציות עם כמה פרמטריםהפקודה 'return'סיכום – מחשבון שטח12יסודות הלולאות
לולאת whileלולאת repeat-untilלולאת for מספריתלולאת for עם צעדהפקודה 'break'סיכום – ספירה לאחורתרגלו בעצמכם: קומפיילר Lua אונליין