-
אבן חן, אבן חן די מתוקה!
-
אבל אתם יודעים מה יותר טוב מאבן אחת, שורה שלמה של אבני חן!
-
וכמובן, עכשיו אנחנו יודעים את הדרך הטובה ביותר ליצור שורה של אבני חן, בעזרת לולאה.
-
אז בואו נשתמש בלולאה כדי ליצור 12 אבני חן בשורה.
-
משמאל לימין על פני המסך.
-
אז כך
-
for(var i שווה 0; i פחות מ- 12;i פלוס פלוס)
-
ואנחנו ניקח את השורה הזאת ונעביר לכאן.
-
אז עכשיו יש לנו 12 אבנים אבל הם בעצם כולם נערמו ממש אחד מעל השני.
-
זכרו, אנחנו רוצים אותם לאורך המסך.
-
זה אומר שאנחנו רוצים לשנות את ה-X
-
36 זה ה-X עכשיו, אבל אנחנו רוצים אותו שונה בכל פעם.
-
זה אומר שאנחנו רוצים שהוא יהיה תלוי ב-i
-
אז מה שנוכל לעשות זה פשוט לכתוב i כפול 36 .
-
אז הראשון הוא ב 0, ולאחר מכן 36, אז 72, וכו'.
-
מגניב! עכשיו יש לנו שורה של אבני חן.
-
וזה סוג של מזכיר לי את הסצנות האלה
באינדיאנה ג'ונס או אלדין
-
שבו הגיבור מגלה אוצר מתחת לאדמה
של אבני חן
-
אבל הם בדרך כלל מוצאים הרבה יותר אבני חן מזה.
-
לא רק שורה של אבני חן, אלא ערימה של אבני חן!
-
אז איך נוכל לגרום לאבני החן לרדת
-
כל הדרך לתחתית המסך?
-
ובכן אנחנו יכולים להתחיל על ידי חזרה על הלולאה בעזרת העתק הדבק.
-
ולשנות את ה-Y בכל פעם
-
ונשנה את זה ל-60 ואז -90.
-
ועכשיו יש לנו שלוש שורות של אבני חן, מגניב.
-
אך זה נהיה ממש משעמם כיוון שכל מה שאני עושה זה
-
העתק הדבק ושינוי דבר אחד קטן.
-
ובדרך כלל בעבר כאשר מצאנו את עצמנו כותבים קוד שחוזר על עצמו כמו זה
-
היינו חושבים, "אולי פשוט נשתמש בלולאה במקום"
-
אבל אנחנו כבר משתמשים בלולאה.
-
אז מה הפיתרון כדי להימנע מלכתוב כך, אתם יודעים, העתק-הדבק?
-
ובכן לזה אנחנו קוראים "לולאה מקוננת", לולאה בתוך לולאה
-
אז מה שאנחנו הולכים לעשות זה להכין לולאה חיצונית
-
וזה מה שהולך לדאוג לירידה לתחתית המסך
-
והלולאה הפנימית שלנו תדאג לעשות את מה שהיא עושה עכשיו
-
שזה ללכת משמאל לימין.
-
תנו לי להראות לכם למה אני מתכוונת.
-
אז לולאת for - ונשתמש במשתנה אחר הפעם, נקרא לו j , כיוון ואנחנו כבר משתמשים ב-i
-
for(var j שווה 0; j פחות מ- 13; j פלוס פלוס)
-
אוקיי, אז זו הולכת להיות הלולאה החיצונית שלנו, שאחראית על הולכה מלמעלה למטה.
-
ואז אנחנו רק הולכים לקחת אחת מהלולאות הקודמות שלנו ולשים אותה בפנים
-
ולתקן את מה שלא נחוץ, נמחק את הישנות.
-
אז עכשיו יש לנו את כולם נערמו על גבי שורה אחת.
-
אז אנחנו רוצים לשנות את ה-Y , נכון?
-
זה מה ששינינו מקודם, כאשר עשינו העתק-הדבק
-
ועכשיו, ה-Y תמיד 90
-
אנחנו רוצים ש-Y ישתנה בכל שורה.
-
זה בדיוק כמו ש-X תלוי ב-i, אנחנו רוצים את Y שיהיה תלוי ב-j.
-
נוכל ללכת קדימה ולשנות את זה למשהו כמו, אולי, j כפול 30.
-
מעולה! כל כך הרבה אבני חן!
-
בואו נראה מה זה עושה, שוב.
-
הלולאה החיצונית יוצרת משתנה j ומגדילה אותו עד 13.
-
בכל ביצוע של הלולאה החיצונית, זה מריץ את הלולאה הפנימית.
-
הלולאה הפנימית יוצרת משתנה i שגדל עד ל-12.
-
ובעבור כל ביצוע של הלולאה הפנימית, היא מציירת תמונה במיקום x ו-y שמבוסס על i ו-j.
-
וה-i משתנה בתדירות גבוה יותר מה-j בגלל זה
-
בכדי לנסות להבין זאת אפילו טוב יותר, בואו ננסה להמחיש את ערכי i ו-j .
-
אז מה שאני יעשה זה תגובה מתוך תמונה
-
ואז קבע צבע מילוי
-
ואני הולכת להשתמש בפקודת text כדי להראות את ערכו של j - אז text j
-
ואני אכתוב את זה בנקודה המתאימה. אוקיי
-
עכשיו נוכל לראות j הולך מ-0 ל-12.
-
זהו בעצם איפה שהשורות של אבניהחן שלנו הוצבו גם כן.
-
עכשיו נמחיש את i ונראה איך זה משתנה
-
אז ל-i, נבחר צבע שונה.
-
נשים את ה-i במקומו
-
נשנה את ה-x שלו כדי שילך לאורך כל המסך.
-
נעשה אותו דבר עם y.
-
עכשיו נוכל לראות ש-i הולך מ-0 ל-11
-
וה-i כפי שאמרתי, משתנה בתדירות גבוהה יותר.
-
ושורה זו של הקוד מבוצעת הרבה יותר פעמים מהשורה הזו של הקוד.
-
כיוון ושורה זו של הקוד מבוצעת בכל ביצוע של הלולאה הפנימית.
-
בעוד שהשורה הזאת של הקוד מבוצעת רק עבור ביצוע של הלולאה החיצונית.
-
אז זאת המחשה של i ו-j
-
בתקווה שזה עזר לכם להבין טוב יותר מה קורה בלולאות מקוונות.
-
עכשיו בואו נחזיר את אבני החן, כיוון והן מגניבות יותר!
-
אז יש הרבה שתוכלו לעשות בעזרת לולאות for מקוונות
-
אם אתם רק תחשבו על כל דבר בעולם
-
שנראה כמו לוח דו מימדי, כמו לוח שחמט,
-
הכוכבים על דגל ארה"ב, דפוסים וטפטים מגניבים
-
כדי להתחיל את הדמיון שלכם, פשוט שחקו עם הקוד הזה
-
כמו על ידי שינוי התמונה.
-
אני אתחיל בשינוי התמונה ללב!
-
כדי להראות לכם כמה אני אוהבת לולאות for מקוננות!