سم الله الرحمن الرحيم
اولا مبارك عليكم شهر رمضان المبارك و الله يعوده عليكم بكل خير و محبة و سلام  
 
و حبيت اقولكم لعبة Sonic Xtreme NeXT قريب و تنزل نسخة الألفا  و انا طلعت من فريق البرمجة لأني الحين قاعد اتعلم الDirectX و الحين انا صرت مدير العلاقات العامة Community Manager و مصمم الموقع
 و انا طلعت من فريق البرمجة لأني الحين قاعد اتعلم الDirectX و الحين انا صرت مدير العلاقات العامة Community Manager و مصمم الموقع  و كاتب قصص
 و كاتب قصص  
 
عشان جذي انا تفرغت لكم و بحط دروس مني لكم للبدء برمجة ألعاب في الـ ++C  و إنشاء الله بس اخلص تعلم برمجة الـ ++C بالدايركت اكس احط دروس
 و إنشاء الله بس اخلص تعلم برمجة الـ ++C بالدايركت اكس احط دروس 
مقدمة عن الـ ++C :
لغة ال++C صممها بيارن ستروسترب 

في مختبرات Bill Gates كتحسين للغة الـ C خصوصا لغة الـ C ليست كاملة ككمال ++C.  اشتغل عليها المهندس بيارن سنة 1979. بس ليش قرر المهندس بيارن تطوير لغة الـ ++C على حساب الـ C ؟؟؟
لأن الـ C لغة سريع جدا جدا جدا و قوية في نفس الوقت. فقد ظاف المهندس بيارن الكثير من المميزات إلى الـ C كالـ Functions و الـ Refrences و الـ Operator overfloating. و أول إطلاق رسمي تجاري للـ ++C كان في أكتوبر سنة 1985. الإسم الأول للغة الـ ++C كان The New C و تم تغييره إلى C with classes ثم إلى ++C .
بس ليش شركات الألعاب العملاقة مثل  EA و Capcom و Blizzard تختار لغة صعبة بحتة لتصميم لعبة ؟
تخيل انك قاعد تصمم لعبة  بلغة الآلة :
11010101010101010000111100
اكيد راح تكون اقوى لعبة بالعالم كله من الناحية البرمجية ، و راح تكون أسرع لعبة و أقوى لعبة أقوى من Final Fintasy و Resident Evil و Age of Empires. بس منو الفاظي اللي يبي يبرمج بلغة الآلة ؟؟ 
 
لكن تخيل تبي تبرمج اللعبة بلغة انزل من رتبة لغة الآلة برتبة او رتبتين!!! راح تكون بنفس القوة و السرعة و لكن اقل بقليل جدا  و اهي الـ ++C
 و اهي الـ ++C 
هذا سبب اختيار الشركات العملاقة للغة الـ ++C :
1-لغة سريعة : فالبرامج المكتوبة جيدا تكون سريعة بسرعة مذهلة !! احد من اهداف الـ ++C هو التشغيل على اكمل وجه. و لغة الـ ++C تتفاهم مع الهاردوير من غير عميل. يعني على طول من إيدك لي الكمبيوتر 
2-مرونة اللغة : الـ ++C لغة ثنائية النماذج ، يعني يمكن تسوي برنامج بأكثر من طريقة و فيها تقدر تبرمج باستخدام الكائنات
3-لغة مدعومة جيدا: حيث هذه اللغة مدعومة جيدا من كل النواحي : الفيزيا ، 2دي ، 3دي و محركات الأصوات.
ماذا بعد ؟؟؟
لتستفيد من هذا الموضوع تحتاج لشيء واحد مجاني فقط !!!
Compiler و آخر و اقوى Compiler متوفر اهو DEV-C++ bloodshed و اهو مجاني بالكامل لا تسجيل و لا هم يحزنون و هذا رابط التنزيل مباشرة  :
 :
http://dw.com.com/redir?pid=10498828...-10498828.html
يالله نبدا بالدرس الاول بإذن الله 
الدرس الأول : العمل مع المتغيرات و الثوابت :
1-كتابة أول برنامج لك في الـ ++C:
اكتب هذا الكود و سو له compile :
	كود:
	//Game Over 
//Very first C++ program
#include <iostream>
int main()
{
std::cout << "Game Over!" << std::endl;
return 0;
}
 نلاحظ اول سطرين السلاش ، و اهي علامة التعليق. باختصار الكومبايرلر ما يعطي هالأسطر اي أهمية و يتجاهلها. هذي الأسطر تفيدك إذا تحب تكتب تعليق قبل loop او شي عشان يذكرك 
السطر الثالث انا ادخلت مكتبة iostream و اهي تنطق جذي :
آي أو ستريم 
هذي المكتبة اهي تعطيك بالتحكم اب كائن cout و cin (يأتي شرح cin بالمستقبل بإذن الله) 
السطر الرابع و اللي يحتوي على int main اهو هيكل البرنامج  حيث int اختصار integer و اهو عدد صحيح ، و هذا يعني ان البرنامج يعمل  و يرد بقيمة صحيحة ، و القوس } و { اهم بدء و إنهاء الوظيفة int main
 حيث int اختصار integer و اهو عدد صحيح ، و هذا يعني ان البرنامج يعمل  و يرد بقيمة صحيحة ، و القوس } و { اهم بدء و إنهاء الوظيفة int main  
السطر الخامس و اهو يعرض Game Over ، حيث cout تنطق ك: c out ، و مثل ما قريتها "out" و هذا يعني يطلع شي للخارج و اهو سطر Game Over و هنا نستخدم المشغل الخارجي :
>> و هذا يعني المعلومات خلف هذا السهم تابعة للكائن cout 
السطر الأخير و اهو return 0;  اهو يعني إنهاء البرنامج بدون اي مشكلة 
2- العمل مع name space std
تخيل انت كل ساعة تبي تكتب الكائن cout راح تحتاج إلى كتابة std، تتوقع ما لها حل ؟؟ لها حل  و اهي namespace std و اهو يجنبك بكتابة std كل مره
 و اهي namespace std و اهو يجنبك بكتابة std كل مره 
	كود:
	//Game Over 2.0
//Using namespace std;
#include<iostream>
using namespace std;
int main()
{
cout << "Game over" << endl;
return 0;
}
 
3- مشغلات العمليات الحسابية الأساسية :
علامة الضرب بالسي بلس بلس اهي : * 
علامة القسمة : / 
علامة الجمع : +
علامة الطرح : -
و في علامة زيادة للعمليات الحسابية و اهي % و اهي علامة للقسمة لكن تقسم على عدد على عدد ما يقبل القسمة عليه و يعطيك قيمة صحيحة بدون اي كسور او ارقام عشرية 
يعني مثلا لو تفتح الآلة الحاسبة و تقسم 7 على 3 راح تعطيك 
2.3333333333333333333333333333333
فهالعلامة تفيدك في حالة انك تبي حاصل العملية عدد صحيح 
هذا برنامج توضيحي :
	كود:
	#include<iostream>
using namespace std;
int main()
{
cout << "7 + 3= " << 7 + 3 << endl;
cout << "7 - 3= " << 7 - 3 << endl;
cout << "7 * 3= " << 7 * 3 << endl;
cout << "7 / 3= " << 7 / 3 << endl;
cout << "7 % 3= " << 7 % 3 << endl;
return 0;
}
 
4- استقبال البيانات من المستخدم باستخدام الكائن cin 
عرفنا كيفية اخراج معلومات على الشاشة ، الحين لازم نعرف اشلون نستقبل بيانات من المستخدم 
أنواع المتغيرات
:
1- int : و هو عادة يكون عدد
2- char : و اهو حروف 
3- bool : و اهو لعملية true or false 
إعلان المتغيرات يكون كالتالي
	كود:
	int score;
char playAgain;
bool shieldsUp;
 
 و بعدين تقدر تتلاعب بقيمة المتغير مثل ما تحب يعني مثلا تبي تعين قيمة البدء للمتغير fine من 7 يكون كالتالي :
و تعيين المتغير يكون قبل البدء باستخدامه ، يعني مو تسوي عملية حسابية تشمل المتغير مثلا number و بعدها العملية تعين المتغير number.... لأ المتغير يكون اولا 
 و لا تتعب نفسك تعين المتغيرات اول البرنامج ، تقدر تعين المتغير قبل ما تستخدمه 
هذا برنامج يعرض متغيرات بدون التلاعب فيها  :
 :
	كود:
	//Declaring variables
#include <iostream>
using namespace std;
int main()
{
int score = 0;
int health = 6565.3;
int ammo = 5; 
cout << "\nYour score is " << score << endl;
cout << "\nYour health is " << health << endl;
cout << "\nYour ammo is " << ammo << endl;
return 0;
}
 الحين ايي دور إدخال البيانات ، طبعا قبل لا المستخدم يدخل بيانات لازم يكون في متغير تنحفظ داخله البيانات 
	كود:
	//Getting data from the user
#include <iostream>
using namespace std;
int main()
{
int money;
cout << "\nHow much money you have ?" << endl;
cin >> money;
cout << "\nYou have << money << " in your account " << endl;
}
 لاحظت اولا الـ n\ هذا يقول للبرنامج اكتب هالشي بسطر يديد  
 
ثانيا : عينت المتغير money و قيمته الإفتراضية صفر ، فلما يدخل المستخدم قيمة راح تكون المعادلة :
money + 0 
و شوف اسهم الـ cin تتجه إلى المتغير هذا يعني البرنامج ياخذ قيمة الإدخال و يعطيها للمتغير 
تمرين اليوم : 
سو لي برنامج ياخذ رقم من المستخدم و يجمعه مع 100 و يطلع النتيجة 
مساعدة :
1- استخدم متغير واحد بإسم number
2-استخدم الكائن cout و cin 
إذا خلصت البرنامج حط الكود اهني وانا اختبره 
ملاحظة : إذا كنت تعاني من مشكلة سرعة إغلاق التطبيق اظف المكتبة
 اظف هالكود قبل return 0;
فيصبح شكل البرنامج العام :
	كود:
	#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
cout << "Monatada.com" << endl;
getch();
return 0;
}