תכנות לילדים באמצעות Game Maker/פונג/צעד 7: חיים וניקוד

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


חיים[עריכה]

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

בשביל לאבד חיים, צריך קודם כל שיהיו חיים שאפשר לאבד אותם... נקבע שבתחילת המשחק המשתמש מקבל 3 חיים. בשביל זה נרצה לטפל בארוע של תחילת המשחק (במאפייני הכדור), Game start (גֵיים סְטַרְט), שנמצא בסוג ארוע Other .

הפעולה שצריך לעשות בארוע הזה היא קביעת מספר החיים, שנמצאת בלשונית score (סְקוֹר) - ניקוד.

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


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



בשביל לאבד חיים כשהכדור נופל, נלך לארוע היציאה של הכדור מהחדר , ונוסיף גם לו את הפעולה של קביעת מספר החיים. הפעם אנחנו לא רוצים לתת 3 חיים, אלא להוריד חיים. אז איזה מספר נכתוב? אם נכתוב 2, מספר החיים יהיה 2 אחרי כל נפילה, לא רק אחרי הנפילה הראשונה, וככה אף פעם לא יגמרו החיים. אנחנו רוצים שמספר החיים יהיה 1 פחות ממה שהוא באותו רגע. איך עושים את זה?

ערך יחסי[עריכה]

בחלון אפשרויות הפעולה יש תיבת סימון Relative (רֵלַטִיב) - יחסי.

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

אבל אנחנו רוצים שיהיו פחות חיים, לא יותר! לכן נכתוב -1 ונסמן Relative - ככה מספר החיים יהיה מה שהיה קודם ועוד -1, כלומר: מה שהיה קודם פחות 1.


עדיין לא רואים שום דבר מעניין. למה? כי החיים פשוט יורדים להם בשקט מ-3 ל-2, מ-2 ל-1, מ-1 ל-0, מ-0 ל--1, וכן הלאה. לא תכנתנו את המשחק לעשות שום דבר כשיש 0 חיים.




סוף החיים[עריכה]

כשיש 0 חיים, Game Maker מודיע לנו על הארוע הזה. הארוע נקרא No more lives (נוֹ מוֹר לַייוְוז - אין עוד חיים) ונמצא גם הוא בסוג ארוע Other .

הפעולה שצריך לעשות בארוע הזה היא לסיים את המשחק: . היא נמצאת בלשונית main2.


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



המשתמש עלול להיות מופתע שפתאום נגמר לו המשחק... כדאי להראות לו כמה חיים נשארו לו.

הצגת מספר החיים[עריכה]

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

לפעולה הזו יש הרבה אפשרויות, אז נעבור עליהן אחת-אחת:

  • show score (שוֹוּ סְקוֹר) - הצג הניקוד. עוד אין לנו ניקוד, אז נשנה את האפשרות הזו ל-don't show (דוֹנְט שוֹוּ) - אל תציג.
  • score caption (סְקוֹר קַפְּשֵן) - כותרת הניקוד (המלים שיוצגו ליד הניקוד).
  • show lives (שוֹוּ לַייוְוז) - הצג חיים. זה בדיוק מה שאנחנו רוצים לעשות, אז נשנה את האפשרות הזו ל-show - הצג.
  • lives caption (לַייוְוז קַפְּשֵן) - כותרת החיים (המלים שיוצגו ליד מספר החיים). אפשר להשאיר את הכותרת באנגלית, ואפשר לכתוב במקומה "חיים: " או "כדורים: ". שימו לב שצריך להיות רווח בסוף הכותרת שכותבים, אחרת מספר החיים יהיה צמוד לכותרת!
  • show health (שוֹוּ הֵלְתְ') - הצג בריאות. לא נתעסק בזה עכשיו.
  • health caption (הֵלְתְ' קַפְּשֵן) - כותרת הבריאות.

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




ניקוד[עריכה]

עכשיו תורכם:

ראינו ש-Game Maker יכול להראות לנו גם את הניקוד לצד החיים. בואו ננצל את זה!
  1. לשנות את פעולת קביעת כותרת החלון כך שתציג גם ניקוד.
  2. בתחילת המשחק, לקבוע את הניקוד ל-0 באמצעות הפעולה לקביעת ניקוד.
  3. להגדיל את הניקוד בכל פעם שהשחקן מצליח לפגוע בכדור עם המחבט. (רמז: זוכרים את Relative?)

עכשיו המשתמשים יכולים לדעת כמה הם טובים במשחק!




רשימת האלופים[עריכה]

Game Maker יודע לזכור מי זכה בניקוד הכי גבוה ולהציג טבלה עם עשרת הטובים ביותר. את הטבלה הזאת נציג למשתמש בסוף המשחק - בארוע No more lives (אין עוד חיים) . אפשר למצוא את הפעולה להצגת הטבלה בלשונית score. לא לשכוח לדאוג שפעולת הצגת הטבלה תתבצע לפני הפעולה לסגירת המשחק!


עכשיו אפשר לתת גם לחברים ולבני משפחה לשחק.




עכשיו תורכם:

להשמיע לשחקן צליל שמבשר על סיום המשחק לפני הצגת הטבלה.

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


עכשיו אפשר לשחק שוב ושוב ושוב ושוב...




בואו נעשה את המשחק יותר מאתגר: צעד 8: מהירות.