עכשיו בואו נדבר על תנאים מסובכים יותר שאתם יכולים לבדוק עם התוכנה שלכם
לצורך הדגמה, גרמת לשולחן העבודה להיראות כמו משחק ישן שפעם הייתי משחקת בו
ארבע-בריבוע.
ישנם ארבעה ריבועים, ואתה עומד באחד מהם ומקפיץ את הכדור באחרים.
אז אני אצייר אליפסה איפה שהעכבר שלי נמצא, וזה יהיה הכדור שלנו
אבל מה שאני רוצה לעשות זה להדגיש את הריבוע שבו נמצא הכדור על ידי ציור של ריבוע לבן מעליו.
אני יודעת שאני צריכה להשתמש בהצהרת if בשביל לעשות את זה, מכיוון שאני רוצה לעשות את זה פעם אחת, רק כשאני מעל הריבוע הזה
אז בואו נתחיל על ידי ציור הריבוע הזה.
אני פשוט אעתיק את פונקציית rect מפה, אבל אתן לה צבע מילוי אחר, מילוי לבן
יופי. עכשיו בואו נעטוף את זה עם הצהרת if
אתם רואים שזה משלים לי אוטומטית את הסוגרים המסולסלים כאן, אז אני צריך להעביר את זה פנימה
אוקיי. אז מתי אני רוצה להראות את הריבוע הזה?
ובכן, אני יודעת שאני רוצה שזה יהיה כשמיקום ה-x של העביר קטן מ-200 (mouseX < 200)
אז זה עובד, אבל אז אם אני ארד לכאן, הוא עדיין מופיע
זה אני גם צריכה לבדוק את mouseY
אז איך אני בודקת את שני הדברים?
בדיוק בשביל זה יש לנו את האופראטור "AND"
אנחנו משתמשים באופראטור "AND" כשאנחנו רוצים לבדוק מספר תנאים ביחד.
אז אנחנו פשוט כותבים את הסימנים && ואז כותבים את התנאי הבא שלנו, נוסיף: mouseY < 200
ועכשיו זה לא מופיע כשאני כאן וכן כשאני כאן! יאיי!
בואו נעשה את הריבוע הבא, רק בשביל להוכיח שזה עובד.
אנחנו רק צריכים לשנות פה כמה דברים.
ניקח את הריבוע הזה במקום, ונשנה את התנאים כך שזה לא יידלק.
הפעם, mouseX צריך להיות גדול יותר מ-200 ו-mouseY עדיין צריך להיות קטן מ-200.
יפייפה! תסתכלו על זה!
עכשיו, בארבע-בריבוע, כאשר הכדור פוגע בקצוות, אתם יודעים, הקווים האלו שבין הריבועים ובצדדים
אנחנו תמיד צועקים ״כדור על הקווים!״
אז אני רוצה לעשות את זה גם כאן. בואו נתחיל ונרשום ״EDGE BALL״.
ובואו נכתוב את זה באמצע ונעשה את זה אדום.
אז אני רק רוצה שזה ייקרה אם הכדור על הקצוות.
אנחנו נוסיף את זה ל-if שלנו
ונזיז את הקוד הזה לתוך ה-if
אז.. מתי אני רוצה שזה ייקרה?
יש קווים באמצע, והאמצע הוא מתי שהעכבר הוא בדיוק 200, אז mouseX == 200
בואו ננסה, האם אני אקבל את הטקסט שרציתי?
הנה זה! EDGE BALL!
אוקיי. המממ. אז זה עובד בקו האמצעי כאן.
אבל אני רוצה שזה יעבוד גם על הקו כאן.
אם כך, למעשה, אני רוצה ש-mouseY == 200, מכיוון שזה המיקום של הקו האמצעי.
אוקיי בואו נבדוק את זה... זה לא עובד. כלום לא עובד.
או, דבר אחד עובד, רק המרכז עצמו
אה, זה בגלל שהשתמשתי ב-"AND", אז זה ייקרה רק אם שני התנאים הם אמת, שזה ייקרה רק כשהעכבר במרכז.
מה שאני בעצם רוצה להגיד זה אם אחד מהתנאים נכון
בשביל זה נשתמש באופראטור ״OR"
אז אופראטור "OR״ נראה כך: ||
אנו קוראים להם צינורות, אני מניחה שמעולם לא השתמשתם בהם קודם
אם תחפשו אותם על המקלדת שלכם, הם בדרך כלל בצד ימין למעלה, באזור של לחצן האנטר
בתקווה שיש לכם אותם על המקלדת
יש? מעולה, אז בואו נראה איך זה עובד.
זה עובד פה, זה עובד פה, עובד גם פה וגם פה, יופי!
אנחנו יכולים להמשיך להוסיף עוד תנאים כאן
בעזרת AND ו-OR אתם יכולים לעשות כמה תנאים שרק תרצו
אם אתם צריכים לבדוק 6 תנאים שונים אתם יכולים לעשות גם את זה
עוד לא דאגנו לקצוות שלנו
בואו נגיד שאם mouseX קטן מ-3
אז זה יהיה ככה... הנה, הקצה הזה כאן
טוב מאוד
או ש-mouseX יהיה גדול מ-397 (mouseX>397)
והנה זה... יופי!
אז נמשיך לעשות את זה עבור כל הקצוות
יאיי! יש לנו את AND (&&) ויש לנו את OR (||) ועכשיו אתם יכולים לבנות מלא תנאים מסובכים בתוכנות שלכם.
וזה הכל, בגלל שהעולם הוא גם ככה מקום מסובך :) בהצלחה!