אז כבר עשינו את המשתנה הסופר מגניב הזה בשביל העין של ווינסטון (eyeSize), מה שמאוד עזר מכיוון שזה חוסך המון הקלדה כשאנחנו רוצים לשנות את גודל העיניים של ווינסטון.
זכרו שלפני כן היינו צריכים לכתוב את אותו המספר ארבע פעמים, מתי שרצינו לשנות את העיניים שלו.
אבל האם אנחנו יכולים להשתמש במשתנים על מנת להחליף מספרים שהם לא כולם אותו הדבר?
מה אם היינו רוצים להזיז את ווינסטון טיפה?
היינו צריכים לשנות את כל קוארדינאטות ה-X, אבל לא כולן אותו הדבר, אז אני לא יכולה פשוט להחליף את כולן עם אותו המשתנה.
אבל חכו! ברגע שאני אקצה מספר למשתנה, אני יכול להשתמש במשתנה הזה בדיוק כאילו הוא היה המספר הזה.
מה שאומר, שאני יכולה להשתמש במשתנים בביטויים מתמטיים.
אז מה תגידו על זה, בואו נעשה משתנה עבור נקודת ה-x של ווינסטון.
בואו נקרא לזה, "var x"
די פשוט. אוקיי, עכשיו בואו ניתן לו את הערך של קוארדינאטת ה-x של הפרצוף של ווינסטון
אז הפרצוף שלו צוייר בקוארדינאטת X של 200.
אז אני נאמר ש-X מקבל 200 (;var x = 200)
עכשיו אני יכולה ל החליף את המספר הזה עם המשתנה החדש שלי ״x״. וכשאני אשנה את הערך של X הוא יזיז את הפרצוף של ווינסטון.
אבל לא את האוזניים שלו או את הפה שלו.
בשביל לתקן את זה, אנחנו הולכים להגדיר את המיקום של העיניים והאף שלו, ביחס למיקום של הפרצוף.
אז קוארדינאטות ה-"x" הולכות להיות המרכז של כל שאר האליפסות, אז הפרצוף שלו צוייר ב....
ב-200, ועכשיו בואו נעשה את העין השמאלית שלו קודם, כך שהאליפסה הזו היא העין השמאלית שלו, ועכשיו אנחנו יכולים לראות שהיא מצויירת ב-150.
אז כאן זה 150.
ואני יודעת ש-150 זה 50 פחות מ-200.
אז העין השמאלית שלו צריכה להיות איפה שהפרצוף שלו נמצא, פחות 50.
אז זה הולך להיות ״x״, שזה המיקום של הפנים, פחות 50.
ועכשיו אם אני אשנה את הערך של קוארדינאטה "x", העין שלו תזוז יחד עם הפנים.
בואו נעשה את השאר.
אז העין הימנית שלו מצויירת ב-300, אני יכולה לראות, אז כאן זה 300.
ואני יודעת ש-300 זה 100 יותר מ-200.
אם כך העין הימנית שלו תהיה איפה שהפרצוף ועוד 100.
שזה (x + 100)
עכשיו אנחנו פשוט נגדיר את הפה, שהוא צוייר ב-250.
שזה פה, יש לנו 250, ו-250 זה 200 ועוד 50.
אז זה הולך להיות איפה שהפרצוף ועוד 50 - (x + 50)
עכשיו אני הולכת להיפטר מהקשקושים האלו. מתי שאני אשנה את הערך של "x" זה מזיז את כל הפרצוף!
לפני שאתם יכולים ללכת, כדאי שתדעו עוד כמה דברים על משתנים.
ברגע שאתם יוצרים משתנה (var x)
אתם יכולים להכניס לו ערך כמה פעמים שתרצו.
אז אחרי שאתם נותנים ל-"x" את הערך 198, תוכלו להגיד ש-"x" מקבל 300 או "x" מקבל 150.
מאותו רגע והלאה המחשב ייתייחס ל-"x" בתור הערך האחרון שנתנו לו.
במקרה הזה, 150.
אבל אתם צריכים להדפיס את המילה var רק פעם אחת.
אם כאן הקלדתי (;var x = 150) במקום, זה היה מייצר משתנה חדש בשם "x".
לגמרי היה הורס את המשתנה הקודם "x" בתהליך, כך שכל המשתנים האלו היו הולכים לערימת הזבל.
ולאחר מכן המחשב היה משתמש רק במשתנה החדש.
לפעמים אתם יכולים לעשות דבר כזה מבלי שדברים נוראיים ייקרו, אבל אנחנו ממש לא היינו מייעצים לעשות את זה.
לעכשיו אני רק הולכת לעשות את זה פעם אחת (var x = 150).
ועכשיו אני יכולה להזיז בנוחות את ווינסטון בכל המסך, אז אני יכולה לדבר על הנקודה הבאה שלי.
אז מתי שיש לנו משתנה שווה משהו, המשתנה הזה יושב במקום בטוח.
למעשה, מצד שמאל של סימן השווה זה המקום היחיד שמשתנה יכול להרגיש בו כמו עצמו
מכיוון שזה המקום היחידי שהמחשב מסתכל עליו בתור משתנה.
בכל מקום אחר, המחשב רק מעמיד פנים שזה ערך.
אפילו אם אנחנו עושים משהו כזה var x = 10
ואז עושים x = x. ואוו, מבלבל.
בצד שמאל, יש לנו את x, שהוא משתנה חופשי ומאושר, אחד שיכול לגדול, שיכול להשתנות!
אבל בצד שמאל, זה רק 10.
כל כך עצוב :( אבל זה אומר שאנחנו יכולים לעשות דברים ממש מועילים כמו זה.
אני יכולה להגיד ש-x מקבלת x + 1 (x = x + 1)
אז בצד שמאל יש לנו את המשתנה שלנו במקום שקט ובטוח, ומצד ימין יש לנו משתנה שבאופן בסיסי הוא רק מספר.
זה רק 10.
אז אנחנו יכולים להחליף את זה עם x מקבל עשר ועוד 1
מה שבסך הכל אומר ש-x מקבל 11.
אז כל השורה הזו בסך הכל אומרת ש-x מקבל 11, כך שמעתה והלאה הערך של x הוא 11.
בואו נראה מה קורה אם אנחנו מביאים עוד משתנה לתוך המשוואה.
אנחנו הולכים להגיד ש-x מקבל 10 (;var x = 10)
var y מקבל 20 (var y = 20)
x מקבל את y (x = y;)
ו-y מקבל 7 (y = 7)
אוקיי, ומה שאני רוצה לדעת, זה מה הערך של x?
בואו ננסה להבין את זה
אז בסימן הזה כאן אנחנו יוצרים משתנה x, ונותנים לו את הערך 10.
כך שהערך של x הוא 10
ובסימן הזה אנחנו יוצרים משתנה חדש y ונותנים לו את הערך 20.
אז אנחנו לא עושים בינתיים כלום עם x, כך שהערך של x הוא עדיין 10.
וכאן אנחנו אומרים ש-x מקבל את y. זה די מבלבל, אבל אם חושבים על זה
אנחנו יודעים שרק אחד מהמשתנים האלו נמצא בצד הבטוח והמאושר שלו (צד שמאל).
והמשתנה השני שנמצא בצד ימין, מתייחסים אליו בתור מספר.
אז בעצם אנחנו יכולים להחליף בראש את "y" עם הערך שלו 29, ואנחנו יודעים שהסימן בעצם אומר
ש-x מקבל 20. אז הערך של "x" כאן הוא 20!
אז כאן יש לנו את "y" במקום הבטוח והמאושר שלו, אז זה לא כזה מבלבל
בגלל שבסך הכל יש לנו מספר בצד השני.
השאלה הגדולה היא, מתי שאני משנה את הערך של "y" כאן, האם זה משנה את הערך של "x" כאן למעלה?
התשובה היא לא!
אתם חייבים לזכור שכאן למעלה, "y" מקבל יחס כמו של מספר
המחשב הולך להתעלם לגמרי מהעובדה שזה משתנה, ייתעלם מהעובדה שהוא יכול להשתנות
והוא פשוט הולך להגיד ״או, y, מה שאתה בעצם מתכוון אליו זה 20״.
אז כאן, אנחנו פשוט נותנים ערך מספרי ל-"x", אנחנו לא נותנים משתנה למשתנה, אנחנו פשוט נותנים את הערך של ״y״, שהוא 20.
וזה אומר שהערך של "x" נשאר 20, אפילו לאחר ששינינו את הערך של ה-"y" הזה מהשורה האחרונה.
פו! הבנתם את זה? עכשיו אתם מומחי על במשתנים, מזל טוב!