1 00:00:01,686 --> 00:00:04,237 אבן חן, אבן חן די מתוקה! 2 00:00:04,237 --> 00:00:08,275 אבל אתם יודעים מה יותר טוב מאבן אחת, שורה שלמה של אבני חן! 3 00:00:08,275 --> 00:00:12,562 וכמובן, עכשיו אנחנו יודעים את הדרך הטובה ביותר ליצור שורה של אבני חן, בעזרת לולאה. 4 00:00:12,562 --> 00:00:16,162 אז בואו נשתמש בלולאה כדי ליצור 12 אבני חן בשורה. 5 00:00:16,162 --> 00:00:19,523 משמאל לימין על פני המסך. 6 00:00:19,523 --> 00:00:22,304 אז כך 7 00:00:22,304 --> 00:00:31,186 for(var i שווה 0; i פחות מ- 12;i פלוס פלוס) 8 00:00:31,186 --> 00:00:36,429 ואנחנו ניקח את השורה הזאת ונעביר לכאן. 9 00:00:36,429 --> 00:00:40,305 אז עכשיו יש לנו 12 אבנים אבל הם בעצם כולם נערמו ממש אחד מעל השני. 10 00:00:40,305 --> 00:00:43,401 זכרו, אנחנו רוצים אותם לאורך המסך. 11 00:00:43,401 --> 00:00:45,941 זה אומר שאנחנו רוצים לשנות את ה-X 12 00:00:45,941 --> 00:00:49,524 36 זה ה-X עכשיו, אבל אנחנו רוצים אותו שונה בכל פעם. 13 00:00:49,524 --> 00:00:51,859 זה אומר שאנחנו רוצים שהוא יהיה תלוי ב-i 14 00:00:51,859 --> 00:00:56,329 אז מה שנוכל לעשות זה פשוט לכתוב i כפול 36 . 15 00:00:56,329 --> 00:01:02,687 אז הראשון הוא ב 0, ולאחר מכן 36, אז 72, וכו'. 16 00:01:02,687 --> 00:01:04,575 מגניב! עכשיו יש לנו שורה של אבני חן. 17 00:01:04,575 --> 00:01:07,997 וזה סוג של מזכיר לי את הסצנות האלה באינדיאנה ג'ונס או אלדין 18 00:01:07,997 --> 00:01:11,306 שבו הגיבור מגלה אוצר מתחת לאדמה של אבני חן 19 00:01:11,306 --> 00:01:13,732 אבל הם בדרך כלל מוצאים הרבה יותר אבני חן מזה. 20 00:01:13,732 --> 00:01:17,306 לא רק שורה של אבני חן, אלא ערימה של אבני חן! 21 00:01:17,306 --> 00:01:21,609 אז איך נוכל לגרום לאבני החן לרדת 22 00:01:21,609 --> 00:01:24,806 כל הדרך לתחתית המסך? 23 00:01:24,806 --> 00:01:30,639 ובכן אנחנו יכולים להתחיל על ידי חזרה על הלולאה בעזרת העתק הדבק. 24 00:01:30,639 --> 00:01:34,565 ולשנות את ה-Y בכל פעם 25 00:01:34,565 --> 00:01:37,688 ונשנה את זה ל-60 ואז -90. 26 00:01:37,688 --> 00:01:42,308 ועכשיו יש לנו שלוש שורות של אבני חן, מגניב. 27 00:01:42,308 --> 00:01:45,495 אך זה נהיה ממש משעמם כיוון שכל מה שאני עושה זה 28 00:01:45,495 --> 00:01:49,193 העתק הדבק ושינוי דבר אחד קטן. 29 00:01:49,193 --> 00:01:52,859 ובדרך כלל בעבר כאשר מצאנו את עצמנו כותבים קוד שחוזר על עצמו כמו זה 30 00:01:52,859 --> 00:01:57,025 היינו חושבים, "אולי פשוט נשתמש בלולאה במקום" 31 00:01:57,025 --> 00:01:58,607 אבל אנחנו כבר משתמשים בלולאה. 32 00:01:58,607 --> 00:02:03,854 אז מה הפיתרון כדי להימנע מלכתוב כך, אתם יודעים, העתק-הדבק? 33 00:02:03,854 --> 00:02:09,518 ובכן לזה אנחנו קוראים "לולאה מקוננת", לולאה בתוך לולאה 34 00:02:09,518 --> 00:02:12,132 אז מה שאנחנו הולכים לעשות זה להכין לולאה חיצונית 35 00:02:12,132 --> 00:02:14,851 וזה מה שהולך לדאוג לירידה לתחתית המסך 36 00:02:14,851 --> 00:02:19,234 והלולאה הפנימית שלנו תדאג לעשות את מה שהיא עושה עכשיו 37 00:02:19,234 --> 00:02:21,977 שזה ללכת משמאל לימין. 38 00:02:21,977 --> 00:02:24,006 תנו לי להראות לכם למה אני מתכוונת. 39 00:02:24,006 --> 00:02:29,851 אז לולאת for - ונשתמש במשתנה אחר הפעם, נקרא לו j , כיוון ואנחנו כבר משתמשים ב-i 40 00:02:29,851 --> 00:02:37,274 for(var j שווה 0; j פחות מ- 13; j פלוס פלוס) 41 00:02:37,274 --> 00:02:41,999 אוקיי, אז זו הולכת להיות הלולאה החיצונית שלנו, שאחראית על הולכה מלמעלה למטה. 42 00:02:41,999 --> 00:02:48,237 ואז אנחנו רק הולכים לקחת אחת מהלולאות הקודמות שלנו ולשים אותה בפנים 43 00:02:48,237 --> 00:02:53,274 ולתקן את מה שלא נחוץ, נמחק את הישנות. 44 00:02:53,274 --> 00:02:59,109 אז עכשיו יש לנו את כולם נערמו על גבי שורה אחת. 45 00:02:59,109 --> 00:03:01,969 אז אנחנו רוצים לשנות את ה-Y , נכון? 46 00:03:01,969 --> 00:03:04,309 זה מה ששינינו מקודם, כאשר עשינו העתק-הדבק 47 00:03:04,309 --> 00:03:06,108 ועכשיו, ה-Y תמיד 90 48 00:03:06,108 --> 00:03:09,440 אנחנו רוצים ש-Y ישתנה בכל שורה. 49 00:03:09,440 --> 00:03:16,188 זה בדיוק כמו ש-X תלוי ב-i, אנחנו רוצים את Y שיהיה תלוי ב-j. 50 00:03:16,188 --> 00:03:24,663 נוכל ללכת קדימה ולשנות את זה למשהו כמו, אולי, j כפול 30. 51 00:03:24,663 --> 00:03:29,934 מעולה! כל כך הרבה אבני חן! 52 00:03:29,934 --> 00:03:31,776 בואו נראה מה זה עושה, שוב. 53 00:03:31,776 --> 00:03:38,340 הלולאה החיצונית יוצרת משתנה j ומגדילה אותו עד 13. 54 00:03:38,340 --> 00:03:44,340 בכל ביצוע של הלולאה החיצונית, זה מריץ את הלולאה הפנימית. 55 00:03:44,340 --> 00:03:48,673 הלולאה הפנימית יוצרת משתנה i שגדל עד ל-12. 56 00:03:48,673 --> 00:03:55,358 ובעבור כל ביצוע של הלולאה הפנימית, היא מציירת תמונה במיקום x ו-y שמבוסס על i ו-j. 57 00:03:55,358 --> 00:03:59,607 וה-i משתנה בתדירות גבוה יותר מה-j בגלל זה 58 00:03:59,607 --> 00:04:05,238 בכדי לנסות להבין זאת אפילו טוב יותר, בואו ננסה להמחיש את ערכי i ו-j . 59 00:04:05,238 --> 00:04:09,277 אז מה שאני יעשה זה תגובה מתוך תמונה 60 00:04:09,277 --> 00:04:12,027 ואז קבע צבע מילוי 61 00:04:12,027 --> 00:04:16,796 ואני הולכת להשתמש בפקודת text כדי להראות את ערכו של j - אז text j 62 00:04:16,796 --> 00:04:22,025 ואני אכתוב את זה בנקודה המתאימה. אוקיי 63 00:04:22,025 --> 00:04:26,009 עכשיו נוכל לראות j הולך מ-0 ל-12. 64 00:04:26,009 --> 00:04:32,019 זהו בעצם איפה שהשורות של אבניהחן שלנו הוצבו גם כן. 65 00:04:32,019 --> 00:04:35,684 עכשיו נמחיש את i ונראה איך זה משתנה 66 00:04:35,684 --> 00:04:43,066 אז ל-i, נבחר צבע שונה. 67 00:04:43,066 --> 00:04:46,475 נשים את ה-i במקומו 68 00:04:46,475 --> 00:04:50,271 נשנה את ה-x שלו כדי שילך לאורך כל המסך. 69 00:04:50,271 --> 00:04:54,688 נעשה אותו דבר עם y. 70 00:04:54,688 --> 00:04:59,561 עכשיו נוכל לראות ש-i הולך מ-0 ל-11 71 00:04:59,561 --> 00:05:04,686 וה-i כפי שאמרתי, משתנה בתדירות גבוהה יותר. 72 00:05:04,686 --> 00:05:08,778 ושורה זו של הקוד מבוצעת הרבה יותר פעמים מהשורה הזו של הקוד. 73 00:05:08,778 --> 00:05:13,855 כיוון ושורה זו של הקוד מבוצעת בכל ביצוע של הלולאה הפנימית. 74 00:05:13,855 --> 00:05:19,527 בעוד שהשורה הזאת של הקוד מבוצעת רק עבור ביצוע של הלולאה החיצונית. 75 00:05:19,527 --> 00:05:22,140 אז זאת המחשה של i ו-j 76 00:05:22,140 --> 00:05:26,973 בתקווה שזה עזר לכם להבין טוב יותר מה קורה בלולאות מקוונות. 77 00:05:26,973 --> 00:05:30,475 עכשיו בואו נחזיר את אבני החן, כיוון והן מגניבות יותר! 78 00:05:30,475 --> 00:05:34,066 אז יש הרבה שתוכלו לעשות בעזרת לולאות for מקוונות 79 00:05:34,066 --> 00:05:37,232 אם אתם רק תחשבו על כל דבר בעולם 80 00:05:37,232 --> 00:05:39,599 שנראה כמו לוח דו מימדי, כמו לוח שחמט, 81 00:05:39,599 --> 00:05:44,564 הכוכבים על דגל ארה"ב, דפוסים וטפטים מגניבים 82 00:05:44,564 --> 00:05:47,462 כדי להתחיל את הדמיון שלכם, פשוט שחקו עם הקוד הזה 83 00:05:47,462 --> 00:05:49,806 כמו על ידי שינוי התמונה. 84 00:05:49,806 --> 00:05:53,796 אני אתחיל בשינוי התמונה ללב! 85 00:05:53,796 --> 00:05:57,796 כדי להראות לכם כמה אני אוהבת לולאות for מקוננות!