التعريف بالمشروع
==========
كنت قد بدأت منذ فترة حوالي شهر بالبدء في كتابة لعبة ترنيب Tarneeb و هي لعبة من ألعاب الورق و هي من عائلة الEstimationو الBridge و هي لعبة تتميز بقوانين بسيطة كما أنها تتمتع بشعبية قوية
التعريف باللعبة
=========
أرجو أن أستطيع شرح اللعبة جيداً
أعتقد أن أكثر المصريين يعرفون هذه اللعبة فهي تأتي في المرتبة الثانية في الشعبية بعد Estimation
اللعبة يلعبها 4 لاعبين كل لاعبان متقابلان يكونان فريقاً
يتم توزيع الورق بالتساوي على اللاعبين 13 ورقة لكل لاعب
يبدأ اللعب بعمل مزاد على عدد اللمات المتوقعة و يكون الحد الأدنى للطلب 7 لمات و يرمز لها بالرقم 1 و هكذا يكون 8 لمات تكافئ 2 و هكذا بحد أقصى 13 لمة أي 7 حيث أن اللمة تتكون من 4 ورقات فيكون 13 * 4 = 52 و هو عدد ورقات اللعب
و يكون الطلب دائماً مصحوباً برمز من الورق مثل 1 Spade أي أن الفريق سيقوم بحصد 7 لمات و اختار Trim القاطع Spade
و كما نعرف فان للورق 4 ألوان ترتيبها من حيث القوة
الSpade (القلب الأسود)
ال(Hearts (Big (القلب الأحمر)
الDiamond (الماسة أو الكاروه)
ال(Clubs (Triphle (الشجرة أو الترفل)
و أيضاً داخل كل فئة يتم ترتيب الورق حسب قيمة الورقة كما نعرف أيضاً
الACE و هي أقوى ورقة في الفئة
الKing الملك
الQueen الملكة
الJack الولد
ثم تتبعها الأرقام من 10 الى 2 حيث تكون ال 2 أقل ورقة في القوة داخل الفئة الواحدة
و هذا مثال على عملية مزاد
ّّ~~~~~~~
اللاعب 1 : 1 Heart
اللاعب 2 : 1 Spade لأن الSpade أقوى من الHeart
اللاعب 3 : Pass قام اللاعب بتمرير المزاد دون المزايدة
اللاعب 4 : Pass
~~~~~~~
اللاعب 1 : 2 Heart
اللاعب 2 : Pass
اللاعب 3 : Pass
اللاعب 4 : Pass
~~~~~~~
هكذا فاز الفريق الأول المكون من اللاعبين 1 و 3 بالمزاد و أصيح القاطع هو ال Heart و عدد اللمات المطلوبة 8 لمات
يبدأ اللعب باللاعب الذي ربح المزاد و يبدأ بانزال أي ورقة يريدها ثم يليه اللاعب على يمينه و هكذا على أن يقوم بانزال ورقة من نفس فئة ورقة اللاعب الأول و يربح صاحب الورقة الأعلى و تحسب له لمة واحدة و من حقه أن يبدأ اللعبة التالية
اذا جاء الدور على أحد اللاعبين و لم يكن معه و رقة من نفس فئة الموجود على الأرض فيمكنه أن يقطع باستخدام القاطع Trim و هنا يربح اللمة اذا لم يقطع عليه لاعب اخر تصادف أنه لا يحمل ورق من نفس فئة الورقة الأولى و استخدم قاطع بقيمة أعلى من اللاعب الذي سبقه
أما اذا لم يملك ورق من فئة القاطع أو لأي سبب قرر عدم استخدام القاطع يمكنه أن ينزل اي ورقة من فئة أخرى و لكن لن يكون لها أي تأثير و ستربح الورقة الأعلى في فئة الورقة الأولى و يتم تجاهل الورقة المختلفة تماماً
بعد انتهاء الورق مع جميع اللاعبين يتم عد اللمات لكل فريق و مقارنتها مع ما تم طلبه في المزاد فاذا كان الفريق الذي ربح المزاد قد حصل على عدد مكافئ أو أكثر من اللمات فتزيد نقاطه بعدد اللمات أما اذا لم ينجح في هذا فيتم خصم من مجموع نقاطه عدد اللمات التي طلبها في المزاد
و تنتهي اللعبة عند حصول أحد الفريقين على 31 نقطة و يكون هكذا الفريق فائزاً أو الحصول على 31- (سالب) و يكون الفريق خاسراً
سبب الاختيار
=======
تتميز هذه اللعبة عن الألعاب المشابهة لها مثل Estimation
1- سهولة الحسابات
2- اللعب في فريق متعة في البرمجة
3- تتمتع بشعبية واسعة مما يسهل انتشارها
4- زمن اللعب قصير بين الربع و النصف ساعة مقارنة بزمن الألعاب الأخرى مثل Estimation يتعدى الساعتين
5- عامة في لعبات الورق يكون الجزء الخاص بالرسم بسيط و لا يحتاج الا أي معرفة بالDirectX أو OpenGL و هذا لأنه لا يتم استخدامهم في هذا النوع من اللعب (راجع لعبة Solitaire)
حالة المشروع الحالية
============
تم الانتهاء من عمل البنية الأساسية لعمل أي لعبة ورق بداية من الEngine الأساسي لعمليات التفريق و الخلط و الترتيب مروراً برسم الورق على لوحة اللعب انتهاءً بارسال و استقبال ورق اللعب على الInternet
لغة المشروع
=======
Microsoft C#.net 1.1 using MS Visual Studio 2003
Windows Forms
الهدف من المشروع في الاصدار الأول
======================
اتاحة اللعب من خلال الانترنت أو الشبكات الداخلية
سيتم اهمال الجزء الخاص لاتاحة اللعب بين الانسان و الحاسب (لا مجال لتعقيدات الAI في الاصدار الأول)
المجالات التي سيقتحمها المشروع
===================
1- Network Programming
2- الMultithreading
3- بعض الGraphics البسيطة
مشاريع مشابهة
=========
1- مشروع مصراوي ألعاب http://www.masrawy.com/Games/Multi_Games.aspx و هو يضم العديد من الألعاب من ضمنها لعبة ترنيب
لغة المشروع Java Applets
2- مشروع العب دوت كوم www.el3ab.com و يضم أيضاً العديد من اللعبات من ضمنها الترنيب
لغة المشروع Macromedia ShockWave
الاعتراضات التي يمكن أن تواجه المشروع
========================
1- سنواجه بعشرات الردود من نوع تحريم ألعاب الورق
2- صعوبة التنظيم و صعوبة تداول الأكواد و مراقبة التحديثات
بسبب الأعتراض رقم 1 لن اعرض الكود الخاص باللعبة حتى يتم تنظيم فريق العمل
لن يزيد فريق البرمجة عن 5 أفراد بحد أقصى حتى يتم حصر المشكلة 2 قدر المستطاع
ملاحظات أخرى
=========
للاشتراك في المشروع أو الاستفسار أرجو الرد على هذه المشاركة و طرح الاستفسار أو الاعتراض بلطف
و هذه بعض الصور للمشروع في حالته الحالية

و شكراً
