תכנות לילדים באמצעות Game Maker/GML/משתנים ומתמטיקה

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
קפיצה לניווט קפיצה לחיפוש

משתנים[עריכה]

משתנים[עריכה]

בGML רוב הטקסט מבוסס על משתנים. למעשה, על זה מבוסס GAME MAKER.


הגדרה

משתנים, כשמם הם, משתנים, מהמילה להשתנות. הם בעצם תא, או מקום בזכרון בו מאוחסן הערך של אותו המשתנה.

הגדרה

ערך למשתנה, הוא המספר, או האות, או רצף האותיות (כולל רווח) שנקבל כאשר נפנה למשתנה.
לדוגמא, אם הערך של המשתנה "משחק" שווה "כיף", אז מעכשיו כאשר נאמר למחשב משחק, הוא יפנה למקום בזכרון שבו מאוחסן המשתנה "משחק", ימצא שמה "כיף" ויחליף.


הצבה[עריכה]

כדי ליצור משתנה, צריך להגדיר את ערכו. בפעם הראשונה שבו תכניס, או תציב, ערך במשתנה חדש, הוא יקרא משתנה. לדוגמא אם תגיד למחשב "תן לי את הערך של המשתנה X", כאשר לא הצבת בו ערך, הוא יצעק, בטענה שאין לו כזה משתנה. בעצם, משתנה נקרא משתנה ב- Game Maker רק כאשר יש לו ערך.

הגדרה

כשאומרים על מחשב שהוא "יצעק", זה אומר שהוא יגיע למצב שיש לו בעיה, או תקלה, והוא יוצא מהתוכנית או התוכנה שבה צעק. לדוגמא, אם מופיע לך על המחשב את ההודעה הבא: "Game Maker is not reponding" או כול הודעה אחרת שמתחילה במילה Eror,

המחשב צועק.


כדי ליצור ולהציב למשתנה ערך, כותבים כך:

<ערך> = <משתנה>

במקום <משתנה> רושמים את שם המשתנה, לדוגמא X, ובמקום <ערך> רושמים את הערך של המשתנה הזה. לדוגמא, 5.


שימוש[עריכה]

כמו שאמרתי, למשתנים יש שימושים רבים מאד. למשל, נגיד ורוצים ליצר משתנה שייצג את מספר החיים שנותר לשחקן עד שייפסל, ניתן לעשות זאת כך:

lives = 3

כך, אפשר להשתמש במשתנה כדי שתמיד נוכל לדעת כמה חיים נותרו לשחקן עד שימות או יפסל.

הצבת משתנים[עריכה]

כאשר רוצים להציב בתוך משתנה כולשהוא, ערך של משתנה אחר, אנחנו בעצם מציבים משתנה במשתנה.
לדוגמא, בתחילת המשחק, נרצה להציב במשתנה lives , את מספר החיים שאיתו מתחילים, ושם כך נוכל להשתמש במשתנה TotalLives. רושמים זאת כך:

lives = TotalLives

משתנים גלובליים ומשתנים עצמיים[עריכה]

לאובייקט ניתן להציב משתנה, לדוגמה: Score. המשתנה הזה הוא משתנה של נקודות במשחק; אך, המשתנה הזה מכיל את הנקודות, וברוב המשחקים, לא רק השחקן הוא זה שמשנה את הנקודות, לפעמים גם אובייקטים אחרים צריכים לעשות את זה. נסו לצייר 2 דמויות, ליצור 2 אובייקטים, באובייקט הראשון נפתח את אירוע Create, שמה נשים בלוק של משתנה, ונכתוב את הערך 5 במשתנה T. עכשיו הצבנו, או יצרנו משתנה. נלך לאובייקט השני, שם נפתח אירוע Step. הציבו בלוק מתומן של בדיקת משתנה, שם נכתוב את הערך 5 למשתנה T. כדי לבדוק, נציב אחרי המתומן את הבלוק עם החיצים האדומים שבלשונית Move, שמה נסמן את החץ ימינה, ונכתוב 2. עכשיו צרו חדר, ושימו את שני האובייקטים בחדר.

עכשיו, איך נדע שהאובייקט השני קיבל את המשתנה?

עכשיו נפעיל את זה.


Gmaker test save.png המחשב צועק לנו, ואומר לנו שאובייקט 2 לא יודע על איזה משתנה מדובר ב- T.




להסביר לכם למה? זה מפני שקבענו את T להיות משתנה עצמי של האובייקט הראשון. ולאובייקט השני אין את משתנה T.

עכשיו נפתור את הבעיה בעזרת משתנה גלובלי. זהו משתנה ששייך לכל המשחק, ולא רק לאובייקט אחד.

איך מציבים משתנה גלובלי? זה פשוט: כל מה שצריך לעשות זה רק להחליף את שם המשתנה T ב:

global.T

. עכשיו החליפו את השם בשני האובייקטים ובדקו שוב.


Gmaker test save.png האובייקט זז ימינה. אך האם נוכל באמת לדעת אם המשתנה global.T שווה ל- 5?



בשביל זה יש את המשולש האדום, שמאפשר לנו לראות את ערכם של המשתנים בזמן המשחק ללא הפרעות במשחק. לחצו עליו.


Gmaker test save.png עכשיו... הפעלנו את המשחק ואנחנו רואים מולנו חלון. בחלון הזה רואים טבלה.



בעמודה השמאלית כתוב:
Expression
, ובימנית כתוב
Value

. Expression הוא שם המשתנה ו- Value הוא הערך. בטבלה לא רואים כלום.

למעלה אפשר לראות סמלים, שניתן ללחוץ עליהם. עכשיו, בואו ניצור נקודת צפיה על המשתנה global.T. נלחץ על הפלוס, שם נכתוב global.T, כמובן. עכשיו נוצרה שורה בטבלה, שבה כתוב משמאל global.T, ומימין כתוב 5.
עכשיו אנו יודעים בוודאות שהמשתנה global.T שווה ל- 5.

משתנים מובנים[עריכה]

לגיים מייקר לא חייבים לקבוע משתנים. ישנם מלא משתנים (שאפילו אני לא ידעתי שקיימים) שמוצבים לכל אובייקט. ישנם גם משתנים גלובליים שכבר קיימים ולא צריך להגדיר אותם.

לדוגמה - לכל אובייקט יש את המשתנה x בנוי בתוכו.

ניתן להשתמש בכל אלו בלי ליצור או להציב אותם.