אופרטורים לוגיים חלק 3
חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 24 מתוך 92.
אפשר לשלב כמה תנאים בביטוי אחד. כדי לבדוק אם מספר הוא חיובי וזוגי:
var number := 6
var is_positive := number > 0
var is_even := number % 2 == 0
var result := is_positive and is_even # trueאפשר גם לכתוב את התנאים ישירות, בלי המשתנים הנוספים:
var result := number > 0 and number % 2 == 0עם or, תנאי אחד שמתקיים מספיק. -4 הוא שלילי, לכן התוצאה היא true אף על פי ש--4 אינו אי־זוגי:
var number := -4
var negative_or_odd := number < 0 or number % 2 != 0 # trueGDScript מעריכה קודם את not, אחר כך את and, ואז את or. סוגריים משנים את הסדר:
var level := 3
var has_key := false
var has_map := true
print(level >= 5 and (has_key or has_map)) # false
print(level >= 5 and has_key or has_map) # trueכדי לבדוק שערך נמצא בטווח, כתבו שתי השוואות המחוברות באמצעות and: level >= 1 and level <= 10. GDScript מדווח על הצורה המתמטית 1 <= level <= 10 כשגיאה.
אתגר
קלשחקן רוצה לחקור צינוק. המשתנים level, has_key ו-has_map הוגדרו עבורך. הגדר שלושה נוספים:
can_enter:levelהוא לפחות5וגם לשחקן יש מפתח או מפהcan_find_treasure: לשחקן יש מפתח וגם מפה וגםlevelהוא לפחות10is_lost: לשחקן אין מפתח ואין מפה, אוlevelנמוך מ-3
השתמש ב-and, ב-or וב-not. עם הערכים הנתונים, הפלט הוא:
Can enter: true
Can find treasure: false
Is lost: falseנסו בעצמכם
extends Node
func _ready():
var level := 7
var has_key := true
var has_map := false
# הכריזו למטה על can_enter, can_find_treasure ו-is_lost
# אל תשנו את השורות שלמטה
print("Can enter: ", can_enter)
print("Can find treasure: ", can_find_treasure)
print("Is lost: ", is_lost)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום – לוגיקה פשוטהאופרטורים לוגיים חלק 3האופרטור הטרנריתרגלו בעצמכם: קומפיילר GDScript אונליין