عناصر المقال
لغة محرك godot
محرك godot بدء بالانتشار, لذلك وجدت حاجة لوجود دروس تشرح اللغة الخاصة به, لغة GDscript, لذا ها هو اول درس فى دورة تعلم لغة GDscript.
قبل كل شيء عالم البرمجة بشكل عام يتكون من عدة محطات تعليمية, بمعنى إن كنت تريد أن تصبح مبرمج محترف عليك أن تتعلم تلك المحطات أو المستويات, فتكون كالتالي:
- الأساسيات
- البرمجة الشيئية Object Oriented Programming
- الخوارزميات
- هياكل البيانات
- قواعد البيانات
بالطبع لن اتطرق إلى كل هذا, سنأخذ فقط الأساسيات basics ولمحة عن باقي المستويات, ولن نتعمق فيهم أو ندخل في تفاصيل متقدمة … سنأخذ فقط ما يهمنا ويجعلنا ننطلق ونصنع لعبة, بمعني آخر سنتعلم ما يبني مهاراتك ويجعلك تسير منفردًا, وان اردت ان تحترف فيما بعد فتستطيع أن تدخل بتعمق فيهم
حسنًا سنبدأ مع الأساسيات, لن اشرح كل الأساسيات بالطبع, لكن ساشرح المهم والضروري منها, فهكذا تكون الدروس الخاصة بالدورة, تتمحور حول أهم 7 أساسيات في أي لغة برمجة, والتي تكون كالتالي
- المتغيرات
- أدوات التحكم
- الدوال
- المصفوفات
- الحلقات التكرارية
- القواميس
- الأصناف
كل واحد منهم ساقوم بشرحه باسلوب مبسط, بالشكل الذي يجعلك جاهز لبدء استعمال اللغة.
ولكن وجب التنبيه ان لغة script, لن تعمل فقط الا في محرك godot, بالتالي يفضل تنزيله واستعماله لكي تتابع مع الدورة, مع ذلك, فيوجد أحد المحررات المباشرة على الويب, تستطيع استعماله لتجربة اللغة وتطبيق ما تتعلمه أثناء تتابعك للدروس.
https://gdscript-online.github.io
دعنا لا نكثر من المقدمات ونبدأ مباشرة في أول درس, ألا وهو المتغيرات
المتغيرات
المتغيرات تسمح لك بتخزين القيم والبيانات سواء ارقام او جمل او غير ذلك لتستطيع استخدامها فيما بعد
أنواع تلك البيانات كثيرة جدا لكننا سنتكلم عن 4 فقط, والباقي ستعرفه في باقي السلسلة .. ما يهم في هذا الدرس انك تعرف كيف يتم تعريف أي متغير , نحن لن نتطرق لاي شيء عميق بشأن المتغيرات فهذا الدرس هدفه هو تعليمك كيفية تعريف المتغيرات لا أكثر
var VariableName : DataType = Value
هذا سيكون الشكل العام لتعريف أي متغير بأي نوع بيانات، هيا نبدأ مع أهم أنواع البيانات
الأعداد الصحيحة – int
int هو اختصار لـ integer, اي عدد صحيح مثل (0 1 2 3 …) وأيضًا سوالب (-1 -2 -3 -4…), كما لا يمكنه تخزين الأعداد الكسرية مثل 3.4 وان حاولت سيتم التخلص من الكسر تلقائيًا ويتحول 3.4 إلى 3.
في gdscript يتم تعريف المتغير هكذا
var x : int = 7
نكتب var ليعرف البرنامج اننا نريد تعريف متغير, ثم يليه إسم المتغير ويمكنك ان تجعله كما تشاء, ولكن يفضل ان تعطي للمتغيرات اسماء تصف قيمتها, بمعنى ان كنت تريد أن تخزن سرعة اللاعب فاجعل الاسم speed
var speed : int = 7
var speed = 7
var speed := 7
هكذا افضل لجعل كودك قابل للقراءة ويسهل فهمه سريعا, ثم تكتب نقطتين فوق بعضهما ( : ) ويليه نوع البيانات اي int, ثم علامة ( = ), ثم القيمة المراد تخزينها بشرط أن تتوافق مع نفس نوع البيانات
في لغات أخرى قد يختلف شكل تعريف المتغير, لكن نحن سنركز على لغة gdscript , اضافة الـ ; في اخر السطر مسموح في الـ gdscript , انه يدل على أن السطر البرمجي قد انتهى، لكن لا حاجة الى استعماله ويُقترح ان لا تستعمله
كما لا يفضل تعريف المتغير بنفس اسلوب السطر الثاني ـ اي بدون تحديد نوع البيانات ــ لانه هكذا الـ x ليس لها نوع بيانات محدد, بالتالي يمكنها أن تخزن أي شئ من كسور وحروف وجمل
var x = 7
x = "hello"
x = 7.641
وهذا بالطبع سيء جدا جدا لان هذا يسبب مشاكل واخطاء كثيرة, لذا يفضل دائمًا ان تحدد نوع المتغير لتثبيت نوع البيانات, لانك ان وضعت نوع المتغير, من ثم حاولت وضع قيمة مختلفة عن النوع الذي وضعته, فسينبهك البرنامج فورًا ويحذرك أن المتغير x نوعه int ثابت, لا يمكن أن يخزن غير الأرقام الصحيحة
كما ترى عندما تكتب نوع بيانات محدد وأدخلت له نوع مختلف سيعطيك تنبيه بخطأ, وعندما لا تعطيه أي نوع بيانات فلن ينبهك. ــ إن كنت تستعمل محرر الويب, فتاكد من الضغط على run لترى الخطأ ــ
على أي حال يمكنك أن تعرف المتغير بنفس أسلوب السطر الثالث (var speed := 7), هكذا البرنامج سيجعل speed نوع بياناته هو نوع بيانات القيمة التي ستسند له عند التعريف, بمعنى أن speed ستصبح int لان 7 هي int
لا بأس بتعريف المتغير هكذا لكن تظل الطريقة الاولى افضل, وأيضًا ان حاولت فعل هذا
var x : int = 7.8
قيمة x ستصبح 7 ويتم تجاهل الكسور لان x نوعه int
الأعداد العشرية – float
حسنًا نفس كل شىء لكنه يستقبل أعداد عشرية, أي إعداد ذات كسور
var x : float = 72.8596
لا يوجد شئ لاضيفه عليها, كل المتغيرات تتبع نفس القواعد فالاختلاف في نوع البيانات المراد تخزينها
متغير منطقي – bool
هو اختصار لـ boolean, ومعناه الحرفي هو المنطقية, هذا النوع يخزن فقط (صح وخطا) اي true و false, يستخدم عادة في الشروط وهذا سنتطرق له بالتفصيل في السلسلة
var x : bool = true
حسنًا انظر للكود التالي
var x : bool = (4 > 2)
ما قيمة المتغير x ؟
قيمته تحدد بالشرط المسند له هل المعادلة (2 < 4) صحيحة ام خاطئة ؟ ان كانت صحيحة فقيمة x تكون true وإن كانت لا فستكون false
فالـ bool يخزن قيمة المعادلات هل المعادلة صحيحة أم لا
النصوص – string ،char
الجمل string هو نوع الذي يمكنك تخزين فيها الاسماء والنصوص بكل بساطة, وتكتب الجملة أو النص بين علامتي تنصيص مثل هذه (” “)
var name : string = "Ahmed"
var firstName := "Ahmed"
var lastName := "Ali"
var fullName := firstName + ' ' + lastName
اما الـ char فهو اختصار لـ character وهو الحرف الواحد فقط, يكتب ما بين (‘ ‘)
عرفنا ثلاث متغيرات firstName لتخزين أول اسم, استخدمنا الطريقة المختصرة لتعريفه ثم عرفنا lastName لتخزين الثاني, ثم آخر متغير نجمع المتغيرين مع بعضهما, وهذا يعني أن آخر متغير سيخزن ( Ahmed Ali ), وستلاحظ وجود مسافة لأننا دمجنا حرف المسافة (‘ ‘) والمسافة هنا تعتبر حرف.
هناك العديد من الأمور للـ string سنتطرق لها فيما بعد مثل الدوال وخواص متعلقة بالمصفوفات, سنتحدث عنهما بالتفصيل في دروس الـ الدوال و المصفوفات, نحن لم نتطرق لها لان هذا الدرس هدفه هو تعليمك كيفية تعريف المتغيرات لا أكثر
وهكذا نكون تعلمنا ان تعريف المتغيرات يكون هكذا
var VariableName : DataType = Value
var القيمة = النوع : اسم المتغير
شكرا اخي أحمد الطبراني وكل من ساهم في هذا الموقع ألف شكر لكم على جهودكم القيمة ❤.