بسم الله الرحمن الرحيم
السلام عليكم
الدرس الثاني : البنية الأساسية للبرمجة الكائنية
عنوان الدرس ليس مطلع قصيدة ...ستفهم معناه لاحقاً وأعني لاحقاً
وكما قلنا سابقاً نحن لا نفترض إلمامك بأي شيء (تذكر هذا )
(1) مقدمة عن C - SCript :
أولاً ماهي لغة برمجة ؟
وأنت تتصفح هذا الدرس اضغط على (عرض-> المصدر)
أو (Source <- View ) .... هذه هي البرمجة
كل ما أمامك هو لغة برمجة ... استرح قليلاً وتخيل كيف تم برمجة ما أمامك !
هل هذا هو ناتج 01 ... هل هذا معقوووول !!!!
0 : لا إشارة
1 : إشارة
نعم لأن البرمجة كائنية ولو هي إجرائية (فلسفة من عندي)
أنا لا أقصد لغة بحد ذاتها ولا كن أقصد تراكب اللغات
فمن 01 ومن الدوائر الإلكترونية #### حتى توصلنا إلى السكربت
فمالمراحل التي في #### ......... اتركها لك
عموماً
C - SCript مشتقة من ++C بشكل كامل تقريباً مع المزيد من التسهيلات
يعني المواضيع (الغثيثة) في السي ماهي موجودة هنا
ورأيي الشخصي أن كنا نعتبر HTML لغة فـ S-Script لغة من باب أولى
وتشابه الجافا مع السي أتى من صالحهم ( من صالح من تعلم الجافا وأتى لل C - Script )
وفائدة السكربت هو أنه يختصر أوااااامر كثيرة ويسهل العمل بشكل سرييع وبيسط جداً
وهنالك طريقتين (بالطبع بعد تعلم السكربت ) لتطوير قدراتك فيه :
1- انضر إلى السكربتات الجاهزة وحررها (بعد فهم ..المهم الفهم ) .. هذه الطريقة تجلعك مرن جداً مع السكربت
2- عندما أعرض مثال أو تطبيق حاول الإضافة من عندك حتى تصل إلى أكبر قدر من الفهم
تذكر ## قيل لمخترع الإضاءة :: أنت فشلت في عمل الإضاءة 99 مره
فقال :: لا ولكني إكتشفت 99 طريقة خاطئة في عمل الإضاءة
بالطبع تعرفون (من الدرس الأول) فائدة السكربت وطريقة عمل اللعبة
فلن أضيع المزيد من الوقت في هذا
__________________________________
(2) مدخلك إلى C - SCript :
أن كنت مبرمج ++C او جافا فستعشق هذا الفصل
## أعيد وأكرر الدروس على برنامج A5 ##
إفتح برنامج WAD
إختر File ثم Open ..ثم إلنتقل إلى المجلد Work ثم إفتح Office
الآن إختر Build وستنبثق مربع :: أزل علامة الصح أمام Fly - Thru وانقر على OK
الأن أنت بنيت المرحلة .... بقي ربطها مع السكربت
أختر Run ليتم الربط ...
وبعد أن تشتغل العبة ... من الكيبورد اضغط على زر TAP
سيخرج سطر في الأسفل وهو سطر التعليمات
أكتب فيه
كود:
time_factor = 5 ; //dauble the speed of everythings 5 times
الكلام بعد // لمجرد الشرح ولن يؤثر في شيء
كتبته أو لم تكتبة فلن يقرأه البرنامج طالما أنه مسبوق بـ //
المهم هو time_factor = 5 ;
لن أخبرك بالنتيجة شاهدها بنفسك
هذا فقط لكي نقطة أخرى من مزايا 3D Game Studio
ولكي ترى حقيقة تعامل البرنامج مع التعليمات المرسلة له
بالطبع ستكتب أكوادك قبل اللعبة
وهذا ما سنفعله الآن :
إفتح WED واختر New ثم قم بعمل Save As الملف بإسم Tot1
أختر File ثم MAP properties ثم New
لقد حفظ ملف بإسم Tot1.wdl ... فما هذا الملف
لو تذكر من الدرس الأول أن الاحقة wdl تدل على أنه ملف سكربت ... هذا صحيح
الآن إفتح هذا الملف ولو طلب منك إختيار برنامج لفتحه إختر NotePad
ستشاهد الكود الأولي
3D Game Studio يقوم بإنشاء كود إفتراضي لإراحتك من الروتين
ثم تقوم بتعدليها إلى الكود المطلوب
ستشاهد شيئاً كالآتي :
كود:
///////////////////////////////////////////////////////////////////////////////////
// Office test level
///////////////////////////////////////////////////////////////////////////////////
path "..\\template"; // Template path
include <movement.wdl>;
include <messages.wdl>;
include <doors.wdl>;
...
/////////////////////////////////////////////////////////////////////////////////////////////////////
// After starting the engine the MAIN-function will execute. To laod a level
// you must run a level_load instruction inside.
function main()
{
...
سأقوم بالشرح (وليس من المفترض أن تفهم من أول مره)
وليس المطلوب هنا الفهم أساساً ... فلم نبدأ حتى الآن في شيء
ولكن لكي تطمأن أن ما يكتب هنا ليس مجرد طلامس × طلامس
على كل حال :
كما قلنا كل ما بعد ( // ) لن يقرأه في البرنامج فهو لمجرد شرح الأوامر المكتوبة
كود:
path "..\\template"; // Template path
يمتلك البرنامج ملفات من أصوات وصور وWDLs وهي داخل المجلد Template وهذا موقعه بكشل افتراضي على القرص الصلب
ولو شغلت اللعبة لوجدت أصوات ....إلخ فاللعبة تأخذها من المجلد Template .. فكيف عرف البرنامج موقعها
عرفها من
كود:
path "..\\template"; // Template path
فال الأمر Path يحدد مجلد المصادر (المجلد الذي يوجد فيها ملفات اللعبة )
ولكن ما معنى ( path "..\\template"; ) ؟
مجلد Template
هذا موقعه بكشل افتراضي على القرص الصلب
كود:
C:\Program Files\GStudio\template
وأما موقع المثال هو :
كود:
C:\Program Files\GStudio\work
وتلاحظ أن كلاهما يقعون داخل GStudio ولاكن في تفرعات مختلفه
ولقد قلنا للعبة أن مسار مجلد المصادر هو :
أخرج عن المجلد الحالي إلى المجلد الأصلي ...قلناها في ".."
فأصبح المسار حتى هذه اللحظة :
كود:
C:\Program Files\GStudio
أدخل على المجلد Template ..قلناها في "template\\"
فأصبح المسار
كود:
C:\Program Files\GStudio\template
....... أرجوا أن أكون وضحت المعنى !
أما
كود:
include <movement.wdl>;
include <messages.wdl>;
include <doors.wdl>;
فهي ملفات Wdls أيظاً وعندما قلت include فكأنك كتبت محتواها تماماً في Wdl الخاص بلعبتك
وفائدتها أنها تحتوي على إجراءات ودوال جاهزة للإستخدام ...تختصر الكثير من الوقت وتقدم العديد من المزايا (في الواقع ألعابك تعتمد عليها )
وأما
عندما يتم تشغيل اللعبة يقرأ البرنامج هذه الدالة مباشرة ... اما الدوال الأخرى لا يقرأها إلا عندما تقول له ذلك
إلعب بالمثال والأرقام حتى تفهم ما معنى برمجة أو على الأقل سكربت
## لست مطالب بفهم شيء من السكربت حتى الآن
الآن أنت معد لتخطو أول خطواتك في تعلم السكربت
في الدرس القادم سنتحدث عن كيفية كتابة أوامرك الخاصة بلغة C - Script
إدعولي التوفيق