הגדרת מנייה
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 38 מתוך 78.
הצהרת enum היא מילת המפתח enum, שם והאפשרויות בתוך סוגריים מסולסלים, מופרדים בפסיקים. מדריך הסגנון של Godot כותב את השם ב־PascalCase ואת האפשרויות ב־CONSTANT_CASE:
enum Direction { NORTH, EAST, SOUTH, WEST }אפשר לכתוב כל אפשרות בשורה נפרדת במניין ארוך. מותר להוסיף פסיק אחרי האפשרות האחרונה:
enum Weapon {
SWORD,
BOW,
STAFF,
}אפשר לבחור את הערך של אפשרות באמצעות =. אפשרות ללא ערך מקבלת את הערך של האפשרות שלפניה ועוד 1:
enum Difficulty { EASY = 1, NORMAL, HARD, NIGHTMARE = 10 }
# EASY = 1, NORMAL = 2, HARD = 3, NIGHTMARE = 10גם enum הוא טיפוס. משתנה שהוצהר באמצעותו מכיל אחת מהאפשרויות שלו:
var level: Difficulty = Difficulty.HARD
print(level) # 3
print(level * 50) # 150סקריפט יכול להצהיר על כמה מונים, שלכל אחד מהם יש שם משלו. אם משמיטים את השם, כמו ב־enum { LEFT, RIGHT }, האפשרויות הופכות לקבועים של הסקריפט, וכותבים LEFT ללא קידומת.
אתגר
קלהתוכנית קוראת את נזק הבסיס של אויב (מספר שלם). ברמות קושי גבוהות יותר האויב מכה חזק יותר: הנזק הוא נזק הבסיס כפול הערך של רמת הקושי.
- ברמה העליונה של הסקריפט, הכריזו על enum בשם
Difficultyעם האפשרויותEASY(ערך1),NORMAL,HARDו-NIGHTMARE(ערך10). אל תתנו ל-NORMALול-HARDערך משלהם, כך שהם ימשיכו את הספירה מ-EASY. - הדפיסו את הנזק עבור כל רמת קושי, אחד בכל שורה, תוך שימוש באפשרויות של ה-enum בחישוב.
עבור הקלט 12, הפלט הוא:
EASY: 12
NORMAL: 24
HARD: 36
NIGHTMARE: 120נסו בעצמכם
extends Node
# הכריזו כאן על ה-enum בשם Difficulty
func _ready():
var base_damage := int(OS.read_string_from_stdin())
# הדפיסו את הנזק עבור כל רמת קושי
pass
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
2קבלת החלטות מתקדמת
התאמה עם משתניםתנאי סף להתאמהתבניות מערכיםתבניות מילוניםבדיקות חברותסיכום – מנתח פקודות5אפליקציית ספר אנשי קשר
הצגת התפריטהוספת איש קשר8מנהל רשומות תלמידים
סקירת הפרויקטהוספת תלמידתרגלו בעצמכם: קומפיילר GDScript אונליין