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

תוכן שנמחק תוכן שנוסף
יונת (שיחה | תרומות)
מ גמייקר/בדיקה
יונת (שיחה | תרומות)
מאין תקציר עריכה
שורה 26:
אבל רגע: לפני שמוסיפים עוד פעולה צריך לצרף את שתי הפעולות לבלוק אחד, אחרת הפעולה השניה תתבצע גם כשפעולות התנאי אומרות שלא צריך לבצע את הפעולה שאחריהן. לכן קודם צריך להוסיף את הפעולות לתחילת וסוף בלוק סביב פעולת התנועה. רק אחרי זה אפשר להוסיף את הפעולה לקביעת ערך של משתנה.
 
המשתנה שצריך לקבוע את הערך שלו זה משתנה הכיוון {{מונח/direction}}. אבל מה צריך להיות הערך שנותנים לו? איךבואו אומריםנמצא לאת זה לאט-{{מונח/Gameלאט. Maker}}אם לעגלקשה אתלך להבין, לא נורא; הערךאפשר שלולהסתדר לכפולהגם הקרובהבלי שללהבין 90?בדיוק.
 
אנחנו צריכים לשנות את הערך של משתנה הכיוון {{מונח/direction}} כדי שיהיה אחד מהכיוונים הישרים: 0, 90, 180, או 270. כלומר, צריך לעגל את הערך של {{מונח/direction}} לכפולה של 90.
 
{{הארה|כשאומרים "לעגל" מספר אין לזה קשר לעיגול. הכוונה היא למצוא את "המספר העגול" הכי קרוב. מה זה "מספר עגול"? זה תלוי בהקשר. בהקשר שלנו, למשל, הכוונה למספר מעלות שנותן כיוון לא אלכסוני. בהקשרים אחרים, מתכוונים למספר שלם - מספר שאין לו ספרות אחרי הנקודה העשרונית. למשל, אם מעגלים את המספר 2.3 מקבלים 2, ואם מעגלים 5.9 מקבלים 6. יש עוד הקשרים, אבל הם כרגע לא חשובים לנו.}}
שורה 33 ⟵ 35:
 
אבל אנחנו רוצים לעגל את הכיוון לאחד מארבעת הכיוונים של תנועה לא-אלכסונית, ולא סתם למספר שלם. בשביל זה נעשה את התהליך הבא:
# נחלק את הכיוון ב-90,. אז אם הכיוון ואזהיה ימינה (0 מעלות) יהיהנקבל 0, אם הכיוון היה למעלה למעלה (90 מעלות) יהיהנקבל 1, אם שמאלה (180 מעלות) יהיהנקבל 2, ולמטהואם למטה (270 מעלות) יהיהנקבל 3. במלים אחרות, הביטוי direction/90 (כלומר, הכיוון לחלק ל-90) יתןייתן לנו מספר בין 0 ל-4, שבו הכיוונים הישרים הופכים בדיוק למספרים השלמים. כיוונים אחרים יהפכו למספרים לא שלמים (למשל, כיוון 45 יהפוך ל-0.5).
# נעגל את המספר שקיבלנו באמצעות הפונקציה {{מונח|round|רַאוּנְד - עַגֵּל}}. מה שיצא יהיה הביטוי: {{משמאל לימין|round( direction/90 )}}. ככה שאם קיבלנו קודם 3.1 זה יהפוך ל-3, ואם קיבלנו 0.7 זה יהפוך ל-1.
# ולבסוף, נכפיל את התוצאה ב-90, כדי ששוב יהיה לנו כיוון במעלות: {{משמאל לימין|90 * round( direction/90 )}} (הסימן * מסמן פעולת כפל). ככה שאם בשלב הקודם היה לנו 1, אז נקבל עכשיו 90, אם היה 2 אז נקבל 180, וכן הלאה.
שורה 80 ⟵ 82:
 
----
למרבה המזל, הפריט הבא ברשימה יקל קצת על השחקן להתמודד מול צוותצבא הרוחות שיצרנו לו - '''[[../צעד 10: כדורי כוח|צעד 10: כדורי כוח]]'''