תכנות לילדים באמצעות Game Maker/פונג בקוד/צעד 2: הכדור: הבדלים בין גרסאות בדף

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
תוכן שנמחק תוכן שנוסף
←‏הכדור: ניסוח
תגית: עריכת קוד מקור 2017
תגית: עריכת קוד מקור 2017
שורה 13: שורה 13:


== התנגשויות ==
== התנגשויות ==
<BR>להוסיף לכדור ארוע התנגשות במחבט,
נוסיף לכדור ארוע התנגשות במחבט, ולהוסיף עבורה פעולת קוד:[[תמונה:Gmaker_code_button.png]]
<BR>להוסיף פעולת קוד.[[תמונה:Gmaker_code_button.png]]
<BR>מה נעשה כאן?
<BR>אנחנו נכתוב בקוד:
<div dir=ltr>
<div dir=ltr>
move_bounce_all(bat);
move_bounce_all(bat);
score += 10;
score += 10;
</div>
</div>
<BR>מה זה אומר?
מה זה אומר?

<BR>נעבור פריט פריט.
הפעולה move_bounce_all מבצעת ניתור מאוביקט אחר.[[תמונה:Gmaker_bounce_button.png]] הביטוי "all" שבעברית פירושו "הכל". המשמעות של זה שאנחנו בוחרים בביטוי move_bounce_all היא שאוביקט הכדור ינתר לא רק כנגד אובייקטים יציבים (המחבט הוא לא אובייקט יציב).
<BR>הפעולה מחקה את הפעולה לניתור מאוביקט אחר,[[תמונה:Gmaker_bounce_button.png]]

<BR>אבל למה זה חשוב ה-all שבעברית זה הכול,
GML לא מסתפקת רק בזה שצריך לנתר; אנחנו צריכים לכתוב בתוך הסוגריים כנגד איזה אוביקט הכדור ינתר, ולכן צריך לכתוב bat (המחבט).
<BR>אוביקט הכדור מתנגש באוביקט המחבט והמחבט הוא לא יציב ולכן כתוב הכול:all,
<br>score - ניקוד, שמנו שם הוספה יחסית - ובכל פעם שהכדור יגע במחבט, מספר הנקודות יגדל בעשר.
<BR>נאשר עוד דבר אחד, שפת התכנות של game maker לא מסתפקת רק בזה שצריך לנתר,
<BR>התוכנה מחייבת שנכתוב גם באיזה אוביקט מתנגשים ולכן צריך לכתוב bat או בעברית מחבט.
<br>score - ניקוד, שמנו שם הוספה יחסית, ובכל פעם שהכדור יגע במחבט הוא יוסיף 10 נקודות והכדור ינתר.
<BR>נדלג על הנקודות והחיים לעכשיו.
<BR>נדלג על הנקודות והחיים לעכשיו.



גרסה מ־15:10, 16 באוגוסט 2020

הכדור

להוסיף אוביקט חדש,כדאי לקרוא לו ball:כדור.
להוסיף ארוע יצירה.
בארוע היצירה להוסיף פעולת קוד. בקוד יהיה כתוב:

direction = choose(277,95,50,42,15,35,45);
speed = 3;


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

התנגשויות

נוסיף לכדור ארוע התנגשות במחבט, ולהוסיף עבורה פעולת קוד:

move_bounce_all(bat);
score += 10;

מה זה אומר?

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

GML לא מסתפקת רק בזה שצריך לנתר; אנחנו צריכים לכתוב בתוך הסוגריים כנגד איזה אוביקט הכדור ינתר, ולכן צריך לכתוב bat (המחבט).
score - ניקוד, שמנו שם הוספה יחסית - ובכל פעם שהכדור יגע במחבט, מספר הנקודות יגדל בעשר.
נדלג על הנקודות והחיים לעכשיו.

יציאה מהחדר

נוסיף ארוע יציאה מהחדר.
כאן נוסיף עוד פעולת קוד,
בקוד יהיה כתוב:

x = xstart;
y = ystart;
lives-=1;

כאן שיניתי את ה-x ואת ה-y למספרים ההתחלתיים שלהם.
והורדתי ביחס 1 מהחיים. צעד 3: הגבול