תכנות לילדים באמצעות Game Maker/פונג בקוד/צעד 4: סוף המשחק (עריכה)
גרסה מ־16:25, 16 באוגוסט 2020
, לפני 3 שנים←האוביקט: עריכה, עיצוב, הרחבה, ניסוח
←ארוע צעד: הגהה והבהרה |
←האוביקט: עריכה, עיצוב, הרחבה, ניסוח תגית: עריכת קוד מקור 2017 |
||
שורה 4:
== האוביקט ==
נוסיף עוד אוביקט
{{הארה|כיוון שהאובייקט הזה הוא בלתי נראה ואין לו השפעה על אובייקטים אחרים, אפשר למקם אותו בכל מקום בחדר, גם על אובייקטים אחרים. אבל בשביל שזה לא ימחק אותם, יש לוודא קודם שתיבת הסימון Delete underlying אינה מסומנת (כשהתיבה הזו מסומנת, אם נשים אובייקט אחד על אובייקט אחר, האובייקט האחר יימחק).
נוסיף לאובייקט score_panel אירוע של תחילת משחק [[תמונה:Gmaker_other.png]], ונשתמש שוב בפעולת קוד. הפעם נכתוב:
<div dir=ltr>
score = 0;
שורה 18 ⟵ 17:
show_score = 1;
</div>
{{משמאל לימין|show_lives}} (הצג חיים) קובע שהחיים יוצגו, ובאופן דומה, {{משמאל לימין|show_score}} (הצג ניקוד) מציג את הניקוד.
▲<BR>lives הוא משתנה גלובלי. בדומה ל-lives ,score מסמן את כמות החיים, ואנחנו הצבנו בו 3.
<div dir=ltr>
highscore_add_current();
highscore_show(1);
game_restart();
</div>{{גמייקר/בדיקה|הריצו ובדקו מה קורה בסוף המשחק.}}
</div>▼
כמו ששמתם לב, טבלת ניקוד הופיעה בסוף המשחק, אבל התבקשתם הפעם לכתוב את שמכם באופן קצת שונה מזה שהתרגלתם אליו. את התיבה שמבקשת שתזינו שם משתמש יצרה הפקודה שבשורה הראשונה, והפקודה השניה הציגה לכם את רשימת הניקודים.
הפקודה {{משמאל לימין|game_restart()}} מאתחלת את המשחק (מילולית, restart פירושו להתחיל מחדש).
== אירוע צעד - הוספת חיים ==▼
כדי להפוך את המשחק למעט יותר מורכב, נוסיף לשחקן חיים אם יצליח להגיע לאלף נקודות.
נחזור לאירוע ההתנגשות של הכדור במחבט, נפתח את פעולת הקוד, [[תמונה:Gmaker_code_button.png]] ונוסיף {{מונח|בסופה|בסוף שלה}} עוד כמה שורות:
<div dir=ltr>
if ( score == 1000 )
שורה 43 ⟵ 40:
}
</div>
{{משמאל לימין|if}} היא מילת תנאי - 'אם'. הביטוי == (שני סימני = בלי רווח) מסמן השוואה. אם ההשוואה נכונה, אז מה שכתוב בין סימני הצומדיים ({ }) יקרה.<BR>בתכנות, הסימנים { ו- } מבטאים תחילת בלוק וסוף בלוק. במקרה שלנו, הבלוק מוסיף לחיים 1, והוא ירוץ רק אם יתקיים התנאי שהניקוד שווה אלף בדיוק.
המשמעות של הקוד הזה הוא שבכל פעם שתתרחש פגיעה של הכדור במחבט, אחרי שהמשחק יסיים לבצע את הפעולות שכתובות לפני זה, הוא יבדוק אם הניקוד הוא אלף, ואם כן, יוסיף 1 לחיים של השחקן.
{{הארה|1=כיוון שאירוע ההתנגשות של הכדור במחבט משנה את הניקוד של השחקן כל פעם, השחקן יוכל לקבל רק נקודת חיים אחת כל משחק. כדי לשנות את זה, אפשר לכתוב משפט תנאי אחר:
<div dir=ltr>
if ( score % 1000 == 0)
{
lives ++;
}
▲</div>
כאשר התנאי {{משמאל לימין|1=score % 1000 == 0}} פירושו שהשארית מחילוק הניקוד באלף היא אפס, כלומר שהמספר מתחלק באלף ללא שארית; במקרה שבחרנו בקוד הזה, כל פעם שהשחקן יגיע לאלף נקודות נוספות - הוא יקבל תוספת חיים.}}
==
'''[[../צעד 5: גימור המשחק|צעד 5: גימור המשחק]]'''
[[קטגוריה:Game Maker]]
|