المساعدة - البحث - قائمة الأعضاء - التقويم
نسخة كاملة: مشروع لعبة على الانترنت
برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة > منتديات البرمجة على Microsoft .NET Platform > منتدى مبرمجي Microsoft Visual C#.NET
bashmohandes
بسم الله الرحمن الرحيم
التعريف بالمشروع
==========
كنت قد بدأت منذ فترة حوالي شهر بالبدء في كتابة لعبة ترنيب 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 قدر المستطاع

ملاحظات أخرى
=========
للاشتراك في المشروع أو الاستفسار أرجو الرد على هذه المشاركة و طرح الاستفسار أو الاعتراض بلطف

و هذه بعض الصور للمشروع في حالته الحالية

و شكراً
Ahmed H. Alawady


أخي العزيز باشمهندس بارك الله فيك ونفع الله بك الإسلام والمسلمون
أنا أأويد فكرة المشاركة في تصميم أي برنامج أو أي لعبة لما فيها من التعلم والمنفعة التامة للجميع
أما بالنسبة للعبة التي أشرت إليها ، فأنت قد سبقت بقولك regular_smile.gif
إقتباس
1- سنواجه بعشرات الردود من نوع تحريم ألعاب الورق


فهل تعلم أنها حرام أم أنك تتوقع من الأعضاء أن منهم من يقول أنها حرام وهي بالنسبة لك أن تراها ليست بحرام
فإذا كنت تعلم أنها حرام فلما تفعلها ، فهل هي من باب الإصرار على فعل ما حرم الله
لا تزعل مني بالله عليك فأنا لا أعترضك ولكن هذه الجملة فقط للفقرة الأولى ولتوخي الحذر

وبالنسبة لي فأنا أعلم أن لعب هذه اللعبة حرام ولكن لست أعلم هل برمجتها للتعلم والإستفادة وزيادة الخبرة حرام أم حلال
فالله أعلى وأعلم بهذا ، وسوف أعدكم بأن أسأل فيها شيوخ كبار في هذا

وأعيد وأكرر فأنا أوافقك وأشجعك على الفكرة وبالذات تصميم اللعب لأنها بها شغل جميل وأفكار ممتازة
بارك الله فيك

C#please
fhg'fu hcd] hGo bashmohandes ... المشروع الهدف منه التعلم واكتساب الخبرة ... كما أن هناك بعض الاراء الفقهية التي لا تحرم لعب الأوراق طالما أنها لا تختلط بمحرمات كاللعب علي نقود أو ما شابه

Go on أخ bashmohandes
فادي عبدالقادر
إقتباس
حالة المشروع الحالية
============
تم الانتهاء من عمل البنية الأساسية لعمل أي لعبة ورق بداية من الEngine الأساسي لعمليات التفريق و الخلط و الترتيب مروراً برسم الورق على لوحة اللعب انتهاءً بارسال و استقبال ورق اللعب على الInternet


الأخ بشمهندس , ماذا تبقى من المشروع إذا وما هو المطلوب من فريق العمل ؟؟ ارجو التوضيح كما ارجو ارفاق الكود
KARIMSOFT
السلام عليكم ورحمة الله وبركاته
افكره عمل برمجة الالعاب فكره قويه وتستحق المتابعة وبها اكواد ممتازه وخبره قويه
ولكن لا نريد في ديني الجيمل مجال للقيل والقال ونحن منتدي اسلام داعي لذكر الله وانت مشرف في المنتدي وانا احترم رايك
ولكن كيف تكون حاملي لدين الله وتختار هذه اللعبة يمكنك ان تحولهل للعبة اتكملت الاحديث النبوية علي النت
bashmohandes
النسبة لما تبقى في اللعبة فقد تبقى الكثير فكل هذا لا يساوي حتى 20% من تصوري للعبة
فحتى هذه اللحظة لم يتم وضع Algorithms لتطبيق قوانين اللعب و أيضاً يوجد جزء خاص بالسيرفر و هو ما سيقوم بحفظ البيانات الأساسية مثل أسماء اللاعبين و الغرف المختلفة و هكذا...
SOLO.NET
السلام عليكم
فى البداية يجب الا تتدخل الامور الدينية فى هذا الموضوع ومسالة الحلال والحرام ففيها خلافات كثيرة
واعتبروا ان الشروع تعليمى فهو يغطى الكثير من الامور البرمجية(خوارزميات،شبكات،.....الخ)
وبما انى داخل على C# فاساهم معكم بهذا الشروع منتظرين منك الشيفرة المصدرية ياباشمهندس مع وضع الخطوط العريضة للبدء فى التنفيذ
انا ايضا كنت قد بدءت بكتابة مشروع للعبة ورق وتوقفت لعدم وجود وقت فراغ كنت قد كتبت الكلاسات الاساسية التى تقوم بتوزيع وترتيب الورق ورسمها باستخدام card.dll وبعدين وقفت
لعبة الطرنيب بصراحة لا اعرفها ولكن يمكننى المساهمة معكم rolleyes.gif
Ahmed H. Alawady
إقتباس(KARIMSOFT @ Jan 3 2006, 04:20 PM)
ولكن كيف تكون حاملي لدين الله وتختار هذه اللعبة يمكنك ان تحولهل للعبة اتكملت الاحديث النبوية علي النت
[snapback]437738[/snapback]

أنا أأويد هذا الرأي جدا يمكن تصميم نفس اللعبة ولكن بأسلوب جديد وهو أسلوب ديني وأعتقد لن يأخذ التفكير في الفكرة الجديدة أكثر من يوم أو يومين (وهي نفس اللعبة ولكن نجعلها إسلامية)

أما بالنسبة للأخ SOLO.NET
إقتباس
فى البداية يجب الا تتدخل الامور الدينية فى هذا الموضوع ومسالة الحلال والحرام ففيها خلافات كثيرة
واعتبروا ان الشروع تعليمى فهو يغطى الكثير من الامور البرمجية(خوارزميات،شبكات،.....الخ)

كيف نبعد الدين عن هذا ، أيوجد دين ودنيا ، أم دين وبرمجة
أخي العزيز الدين لا ينفصل عن حياتنا بالمرة أين كانت
فالرسول صلى الله عليه وسلم أتى بالدين الفطرة لما يوفق الدنيا التي خلقها الله
أما بالنسبة للحلال والحرام فأذكرك بهذا الحديث :
إقتباس
عن النعمان بن بشير رضي الله عنهما قال: سمعت رسول الله صلى الله عليه وسلم يقول- وأهوى النعمان بأصبعيه إلى أذنيه(7): ((إن الحلال بين، والحرام بين، وبينهما مشتبهات، لا يعلمهن كثير من الناس، فمن اتقى الشبهات استبرأ لدينه وعرضه، ومن وقع في الشبهات، وقع في الحرام، كالراعي يرعى حول الحمى، يوشك أن يرتع فيه، ألا وإن لكل ملك حمى ألا وإن حمى الله محارمه، ألا وإن في الجسد مضغة إذا صلحت صلح الجسد كله، وإذا فسدت فسد الجسد كله، ألا وهي القلب)). (م5/50- 51).


أما بالنسبة لمشروع تعليمي فهذا ما أنظر إليه وليس إعتبار ، فأنا أحد الأشخاص الذين ينظرون إليه من مبدأ واحد وهو التعلم
وأنا قلت سابقا أني لا أفتري على الله في تحريم تصميم هذه اللعبة من مبدأ التعلم وقلت أني سوف أسأل ، وذلك لقول الرسول صلى الله عليه وسلم
إقتباس
« أجرؤكم عل الفتيا أجرئكم على النار » . ضعيف. "الضعيفة" (1814) .


وبارك الله فيكم جميعا
bashmohandes
بالضبط فقد استخدمت أيضاً المكتبة Cards.dll في رسم الكروت فهي نفس المكتبة التي ترسم كروت ال Solitaire و الFreeCell و غيرها من ألعاب الWindows و هذه المكتبة ستسمح لنا بكتابة اللعبة كاملة دون ارفاق صورة واحدة مع الكود مما سيجعل حجمها صغير جداً و سرعتها كبيرة
SOLO.NET
إقتباس
كيف نبعد الدين عن هذا ، أيوجد دين ودنيا ، أم دين وبرمجة
أخي العزيز الدين لا ينفصل عن حياتنا بالمرة أين كانت
فالرسول صلى الله عليه وسلم أتى بالدين الفطرة لما يوفق الدنيا التي خلقها الله

بارك الله فيك يا باشمهندس كفيت ووفيت
ولكن انا لم اقصد فصل الدين عن الدنيا او البرمجة زى ما تفضلت ولكن مقصد كلامى الا يتحول الموضوع الى نقاش حول تحريم اللعبة فالغرض منها هو تعليمى ربما اخطأت فى التعبير
واذا كنت ترى خلاف ذلك فلما طرحت الموضوع؟
وننتظر رد الاخAhmed H. Alawady
من جديد اتمنى عدم تحويل مجريات النقاش ونخرج عن الموضوع
bashmohandes
قبل ارفاق الكود ان شاء الله
سأحاول شرح التصميم حتى يسهل فهم الكود بعد ذلك


بالطبع كما يظهر بالشكل فالتصميم الأساسي يحتوي على 3 classes أساسية و هي
Card و تمثل ورقة اللعب و تحتوي على متغيرين فقط واحد لفئة الورقة Suit و الثاني لقيمتها Rank
CardCollection و هي مجرد تمثيل لمجموعة من الأوراق معاً و تحتوى بعض العمليات الأساسية مثل الاضافة و الحذف و أيضاً هذه الclass ترث من ArrayList و تم عمل override للIndexer الخاص بالArrayList لاعطاء المزيد من التحكم.. كما أنها تحتوي أيضاً على بعض العمليات الاضافية مثل عمليات ترتيب الورق حسب فئته و قيمته بالاضافة لعمليات التفنيط أو الخلط

الClass الأخيرة ترث من CardsCollection و هي Deck أي رزمة ورق اللعب و هي فئة خاصة لأنها تحتوي على 52 ورقة فقط و لا يمكن أن تزيد عن هذا كما أنها تحوي بعض الخصائص الأخرى مثل لون ظهر الورقة
كما توجد Class أخرى اسمها NativeCard (لاتظهر في الشكل) و فائدتها هي عمل غلاف للمكتبة Cards.dll بحيث تسهل التعامل معها فكل ماعليك هو اعطاء الClass اسم الورقة و فئتها و handle على الcontrol المُراد الرسم عليه و ستتولى cards.dll رسم الورقة
Angel81
بسم الله الرحمن الرحيم
السلام عليكم جميعا, أنا مبرمج أردني أعمل في شركة خليجية من سنة تقريبا, أود أن أتطرق إلى موظوع أن اللعبة حرام, في أيام الجامعة و إحنا بناخذ مادة الجافا كان الدكتور شيخ و تقي و بخاف ربه, و كان في case study أعطانا إياها ك project و هي عبارة عن لعبة تشبه لعبة القمار, و صار نقاش طويل جدا على موضوع الحلال و الحرام, كانت وجهة نظر الدكتور و أنا أتفق معها أن اللعبة بها أفكار و خوارزميات و فائدة كبيرة جدا صعب أن نجدها في أي موضوع آخر, أرجو من الأخوة النظر إلى الموضوع من باب العلم و الإستفادة و بالنسبة للإقتراحات الأخرى كعمل لعبة على الأحاديث النبوية الشريفة, مهما كانت اللعبة قوية و عميقة لن نستطيع أن نصل إلى جميع الأفكار التي تطرحها لعبة الطرنيب, و لماذا لا نعمل اللعبتين معا أو ننتهي من الطرنيب و نخترع لعبة عن الأحاديث.

في موضوع آخر للتوضيح على أخواننا من بلاد الشام, أود أن أنوه أن أسم اللعبة في الأردن و فلسطين و لبنان و سوريا هو ((طرنيب)) و هي تختلف كثيرا عن الطرنيب المصرية مع وجود بعض الشبه, أرجو التنويه أن اللعبة التي بصدد برمجتها إن شاء الله هي الطرنيب المصرية.

نشكرك أخ بشموهندس و إحنا معاك و إن شاء الله خير
Ahmed H. Alawady
السلام عليكم ورحمة الله وبركاته
يا أخوتي في الله ، أقسم بالله العظيم أنا معكم في جميع آرائكم وكان مجرد ردي على كلامكم فقط وليس على الموضوع بالذات
ولكن للحيطة يجب أن نسأل علشان نبقى مستريحين في الشغل بدون أي قلق وأعتقد ده ميزعلش حد أبدا ، والموضوع ايه سؤال بسيط ورد عليه يا حرام ياحلال بس .
Ahmed H. Alawady
السلام عليكم ورحمة الله وبركاته

"لقد جأتك من سبأ بخبر يقين"
لقد سألت أحد الشيوخ الكبار في ذلك ولقد تعمدت أسأل هذا الشيخ بالذات لأنه يسهل كل الأمور بطريقة غير طبيعية
والله عندما سألته كنت على يقين أنه سوف يقول لي أنها حلال 100%

ولكن صدمت بالرد فقال لي :
"مثل ذلك كالذي يتعلم السحر ولا يعمل به ، وهل هذا سوف يعيد على الأمة الإسلامية بالخير من هذه اللعبة ، ونحن مشكلتنا لا نبتكر بل نقلد الغرب فقط والمشكلة أننا لا نتقن التقليد ، لماذا لا نعمل شئ يفيد الأمة ، وبعد ذلك إذا تم تصميمها وانتشرت لدى الأطفال فمن يأخذ أو يتحمل سيئاتها ) .

فهذا الكلام طبعا للأمانة كان متقطع لأني كنت أتحدث معه في وسط الكلام وكنت أحاول أشرح له الأمور عسى أن يكون الموضوع ليس بواضح لدية ، حتى أنه عندما قال لن تفيد الأمة بشئ قلت له ولكن سوف تفيد المبرمجين في تعلم كيفية تصميمها . فقلت ذلك وأنا لست مقتنع ولكن أحببت أن أوصل له كلامكم له ، فقال لا
ولقد ذكرت له اللعبة الأخرى التي ذكرها الأخ KARIMSOFT أن نجعلها لعبة مشابهة ولكن بإسلوب إسلامي فوافق وأيد الفكرة.
والنتيجة التي استنتجتها النهائية ==> "حرام" أو كما قال وهو بالحرف الواحد "به شبهه كبيرة"

هذا ما أحببت أن أوصله لكم ، وعذرا على ذلك فأنا أعتذر عن المشاركة مادامت اللعبة غير إسلامية .
SOLO.NET
بارك الله فيك اخ Ahmed H. Alawady
ولكن هل تعرف لعبة اخرى اسلامية تحتاج الى خوارزميات معقدة وفيها شغل جامد مثل هذه اللعبة
ارجو ان تجدو البدائل والا نتوقف هنا فاللعبة التى طرحها الاخ باشمهندس يتدخل فيها AI
فهل هناك بديل اسلامى وبعيد عن الشبهات حتى نفيد ونستفيد
bashmohandes
بما انكم توصلتم لقرار أنها لعبة حرام سيتم غلق الموضوع
هذه "نسخة - خفيفة" من محتويات الرئيسية للإستعراض الكامل مع المزيد من الصور والخيارات الرجاء إضغط هنا.
Invision Power Board © 2001-2008 Invision Power Services, Inc.