Return to Video

Variable Expressions (Video Version)

  • 0:01 - 0:08
    אנחנו שוב עם Winston, ועכשיו יש לנו גם את
    משתנה X וגם משתנה Y עבור המיקום שלו.
  • 0:08 - 0:14
    אז עכשיו נוכל לגרום לווינסטון לקפוץ מעלה ומטה,
    ולעשות מסיבת ווינסטון!
  • 0:14 - 0:19
    יפה. בואו נעבור על הקוד הזה לפני שנמשיך.
  • 0:19 - 0:25
    יש לנו משתני X ו-Y למעלה, ששומרים את המיקום
    של המרכז של הפנים של ווינסטון.
  • 0:25 - 0:29
    ואנחנו משתמשים בהם בשורה הזו כאן,
    איפה שאנו יוצרים את האליפסה של הפנים
  • 0:29 - 0:34
    אחר כך, אנו ממקמים את העיניים ואת הפה
    יחסית למיקום של מרכז הפנים
  • 0:34 - 0:42
    אז אנחנו מחסרים או מוסיפים ל-X ול-Y כדי
    לוודא שהעיניים הם 50 פיקסלים או 100
    פיקסלים מהמרכז
  • 0:42 - 0:49
    לדוגמה, הפה הוא 50 פיקסלים ימינה מהמרכז,
  • 0:49 - 0:54
    ו-40 פיקסלים מתחת למרכז הפנים.
  • 0:55 - 1:00
    אז, בואו נראה מה עוד נוכל לשמור בתור משתנים.
  • 1:00 - 1:08
    כדי לעשות זאת, אני אעבור על כל שורה בקוד
    ואחפש משהו שנקרא לו מספרים קבועים.
  • 1:08 - 1:14
    אלו הם מספרים שהם פשוט מספרים פשוטים,
    לא משתנים או דברים שתלויים במשתנים
  • 1:14 - 1:22
    בואו נראה. באליפסה הראשונה שלנו, יש לנו 300
    ו-300 עבור הרוחב והגובה.
  • 1:22 - 1:27
    אז אפשר לעשות משתנים עבורם במקום, למשל
    משתנה faceSize
  • 1:27 - 1:36
    אז faceSize שווה 300, ואז אנחנו יכולים להעביר
    את faceSize כאן, וזה יעביר 300 בתור הערך.
  • 1:37 - 1:41
    מגניב. בואו נמשיך.
  • 1:41 - 1:51
    כאן הכל משתמש ב-X או ב-Y או ב-eyeSize,
    אבל כאן למטה בשביל הפה, שוב יש לנו מספרים,
    רוחב 150 וגובה 150.
  • 1:51 - 1:56
    אז אפשר לעשות משתנה mouthSize,
    ששווה 150
  • 1:56 - 2:03
    ונעביר את mouthSize כאן. וזה פשוט יעביר
    את הערך 150, כי זה מה שהמשתנה שווה.
  • 2:05 - 2:10
    אוקיי. אז עכשיו כשעשינו את זה,
    אנחנו יכולים בקלות לשנות את גודל הפנים,
  • 2:10 - 2:16
    וגם לשנות את גודל הפה..
  • 2:16 - 2:19
    וגם נוכל לשנות את גודל העיניים.
  • 2:19 - 2:24
    אוקיי, זה מגניב. אבל יש משהו שאני לא אוהבת כאן
  • 2:24 - 2:33
    בכל פעם שאני משנה את גודל הפנים, הייתי רוצה
    שכל הדברים האחרים ישתנו בהתאם.
  • 2:33 - 2:41
    כך שאם אקטין מאוד את הפנים, אני רוצה
    שגם העיניים והפה יקטנו.
  • 2:41 - 2:46
    אם אני אקטין את הפנים פי שניים מהמספר המקורי,
    העיניים והפה צריכים גם
  • 2:46 - 2:50
    לקטון פי שניים מהגודל שלהם. אחרת הוא פשוט
    נראה ממש מטופש
  • 2:50 - 2:53
    כי העיניים שלו והפה שלו הרבה יותר מדי גדולים
    בשביל הפנים שלו
  • 2:53 - 2:56
    הם אפילו לא מחוברים אליו יותר.
  • 2:56 - 3:01
    מה שנרצה לעשות הוא איכשהו לגרום למשתנים
    האלו, mouthSize ו-eyeSize
  • 3:01 - 3:05
    להיות תלויים במשתנה faceSize.
  • 3:06 - 3:09
    אז בואו נחזיר את זה לערכים המקוריים.
  • 3:09 - 3:17
    אז נוכל לגרום לערכים האלו להיות מבוססים על
    הערך של faceSize
  • 3:17 - 3:22
    אז נכתוב mouthSize שווה ל-faceSize
    חלקי 2
  • 3:22 - 3:28
    אנחנו משתמשים בשבר, אנחנו אומרים שניקח חצי
    מגודל הפנים.
  • 3:28 - 3:32
    ואם אתם לא מכירים שברים, יש המון סרטונים
    בקאן אקדמי בנושא
  • 3:32 - 3:35
    כך שתוכלו לחזור על איך שברים עובדים.
  • 3:35 - 3:41
    אוקיי, עבור גודל העיניים, זה בערך faceSize
    חלקי 4.
  • 3:41 - 3:44
    זה לא מושלם, אבל זה די טוב. או אולי 7?
  • 3:44 - 3:47
    הנה, זה יותר טוב.
  • 3:47 - 3:51
    אם אתם בוחרים שבר לא מתאים בהתחלה, תמיד
    תוכלו לשנות את זה אחר כך.
  • 3:51 - 3:54
    פשוט תשחקו עם המספר הזה עד שזה נראה הגיוני
  • 3:54 - 4:03
    אז עכשיו אם נשנה את גודל הפנים, תראו איך
    העיניים והפה משנים את הגודל ביחד איתם?
  • 4:03 - 4:04
    ממש נחמד.
  • 4:04 - 4:07
    אבל משהו עדיין לא בסדר.
  • 4:07 - 4:13
    העיניים והפה עדיין מתנתקים מהפנים אם נקטין
    את זה ממש הרבה
  • 4:13 - 4:17
    הגודל נכון, הבעיה היא במרחק מהפנים
  • 4:17 - 4:24
    מה שקורה כאן זה שכאן למטה אנחנו ממקמים
    את האליפסות
  • 4:24 - 4:31
    יש לנו X מינוס 50 ו-Y מינוס 50, ואז X פלוס 100
    ו-Y מינוס 60
  • 4:31 - 4:41
    אז גם אם הפנים שלנו הם רק בגודל 50 פיקסלים,
    אנחנו עדיין מזיזים את העיניים 50 פיקסלים מהמרכז
  • 4:41 - 4:44
    וזה מזיז אותן מחוץ לפנים.
  • 4:44 - 4:48
    אז אנחנו צריכים שבמקום 50 ו-100 וכל המספרים
    האלו שיש לנו כאן
  • 4:48 - 4:55
    הם צריכים להיות יחסיים לגודל הפנים, כך שאם
    גודל הפנים משתנה
  • 4:55 - 5:01
    אז המרחק של העיניים ושל הפה גם ישתנה.
  • 5:02 - 5:05
    אני אראה לכם למה אני מתכוונת.
    בואו נטפל בעין הראשונה.
  • 5:05 - 5:08
    זה X מינוס 50 פיקסלים
  • 5:08 - 5:12
    אז זה אומר שזה צריך להיות 50 פיקסלים שמאלה
    מהמרכז של הפנים
  • 5:12 - 5:15
    מה שאנחנו רוצים עכשיו זה להשתמש בשברים
  • 5:15 - 5:19
    אז זה יהיה faceSize חלקי 6
  • 5:19 - 5:22
    שישית מהגודל של הפנים.
  • 5:22 - 5:29
    מגניב. ואז גם כאן זה יהיה faceSize חלקי 6
  • 5:29 - 5:36
    עכשיו אם נשנה את הגודל, תראו שהעין הזאת
    היא במקום הנכון
  • 5:36 - 5:38
    יופי, אז העין הזאת טובה.
  • 5:38 - 5:41
    העין השנייה עדיין צריכה קצת עזרה
  • 5:41 - 5:48
    אז 100, זה יהיה faceSize חלקי 3,
    שליש מהגודל של הפנים
  • 5:48 - 5:53
    ו-60 זה חמישית מגודל הפנים, אז faceSize
    חלקי 5
  • 5:53 - 5:57
    מצוין. בואו נשנה את הגודל.. יפה מאוד.
  • 5:57 - 6:00
    יש לנו רק עדיין בעיה עם הפה
  • 6:00 - 6:02
    אז נלך לחלק של הפה בקוד
  • 6:02 - 6:07
    זה אולי יהיה faceSize חלקי 6 שוב
  • 6:07 - 6:10
    וזה בערך faceSize חלקי 7
  • 6:10 - 6:16
    יופי, עכשיו הכל בפרופורציות הנכונות.
    בואו נבדוק את זה.
  • 6:16 - 6:19
    מעולה, עכשיו אנחנו יכולים לעשות את ווינסטון
    ממש קטן
  • 6:19 - 6:22
    והעיניים והפה שלו הם עדיין בתוך הפנים שלו!
  • 6:22 - 6:25
    אני בטוחה שווינסטון מאוד שמח לגבי זה
  • 6:27 - 6:28
    אוקיי, יש!
  • 6:28 - 6:30
    בואו נעבור רגע על מה שעשינו כאן.
  • 6:31 - 6:33
    למעלה, יש לנו את המשתנים שלנו
  • 6:33 - 6:37
    מתחילים עם משתנה שרק שומר מספר, 200
  • 6:37 - 6:42
    ואז המשתנים mouthSize ו-eyeSize
    הם תלויים במספר הזה
  • 6:42 - 6:46
    הם שברים של המספר הזה, כך שאם faceSize
    הוא כרגע 200
  • 6:46 - 6:48
    אז mouthSize יהיה 100
  • 6:48 - 6:53
    אבל אם נשנה את faceSize ל-300,
    אז mouthSize יהיה פתאום 150
  • 6:53 - 6:56
    אז זה תמיד משתנה בפרופורציה
  • 6:56 - 7:01
    אחר כך כאן למטה, כשאני מחשבים את המרחקים,
    אנחנו גם משתמשים בשברים
  • 7:01 - 7:08
    כי אנחנו רוצים שגם המרחקים ישתנו בפרופורציה
    לגודל הפנים
  • 7:08 - 7:15
    בעצם אנחנו פשוט רוצים שיהיה לנו רק משתנה אחד
    שמשפיע על כל השאר
  • 7:15 - 7:18
    וראיתם שאנחנו יכולים לעשות את זה עם משתנים
    וביטויים עם משתנים.
  • 7:20 - 7:24
    אז, עכשיו שאנו מבינים איך לגרום למשתנים
    להיות תלויים במשתנים אחרים
  • 7:24 - 7:26
    אנחנו יכולים לעשות הרבה יותר דברים עם
    התוכניות שלנו
  • 7:26 - 7:30
    בואו נחגוג את זה ונגדיל את ווינסטון להיות ענק!!
  • 7:30 - 7:33
    קדימה ווינסטון, תמשיך לגדול, תמשיך לגדול!
  • 7:33 - 7:39
    אההההה!!!
Title:
Variable Expressions (Video Version)
Description:

This is just a screen grab of our interactive coding talk-through, prepared to make captioning and translation easier. It is better to watch our talk-throughs here:
https://www.khanacademy.org/cs/programming/

more » « less
Video Language:
English
Duration:
07:42

Hebrew subtitles

Revisions