الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشروع لعبة على الانترنت

مغلق
بدأه bashmohandes في 3 يناير 2006 · 15 رد · 3,372 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

التعريف بالمشروع

==========

كنت قد بدأت منذ فترة حوالي شهر بالبدء في كتابة لعبة ترنيب 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 قدر المستطاع

ملاحظات أخرى

=========

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

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

02_01_06_03_59_06_1136246346ScreenShot.jpg

و شكراً

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#2

salam.gif

أخي العزيز باشمهندس بارك الله فيك ونفع الله بك الإسلام والمسلمون

أنا أأويد فكرة المشاركة في تصميم أي برنامج أو أي لعبة لما فيها من التعلم والمنفعة التامة للجميع

أما بالنسبة للعبة التي أشرت إليها ، فأنت قد سبقت بقولك :)

اقتباس
1- سنواجه بعشرات الردود من نوع تحريم ألعاب الورق

فهل تعلم أنها حرام أم أنك تتوقع من الأعضاء أن منهم من يقول أنها حرام وهي بالنسبة لك أن تراها ليست بحرام

فإذا كنت تعلم أنها حرام فلما تفعلها ، فهل هي من باب الإصرار على فعل ما حرم الله

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

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

فالله أعلى وأعلم بهذا ، وسوف أعدكم بأن أسأل فيها شيوخ كبار في هذا

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

بارك الله فيك

jzakum.gif

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#3

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

Go on أخ bashmohandes

#4
اقتباس
حالة المشروع الحالية

============

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

الأخ بشمهندس , ماذا تبقى من المشروع إذا وما هو المطلوب من فريق العمل ؟؟ ارجو التوضيح كما ارجو ارفاق الكود

#5

السلام عليكم ورحمة الله وبركاته

افكره عمل برمجة الالعاب فكره قويه وتستحق المتابعة وبها اكواد ممتازه وخبره قويه

ولكن لا نريد في ديني الجيمل مجال للقيل والقال ونحن منتدي اسلام داعي لذكر الله وانت مشرف في المنتدي وانا احترم رايك

ولكن كيف تكون حاملي لدين الله وتختار هذه اللعبة يمكنك ان تحولهل للعبة اتكملت الاحديث النبوية علي النت

#6

النسبة لما تبقى في اللعبة فقد تبقى الكثير فكل هذا لا يساوي حتى 20% من تصوري للعبة

فحتى هذه اللحظة لم يتم وضع Algorithms لتطبيق قوانين اللعب و أيضاً يوجد جزء خاص بالسيرفر و هو ما سيقوم بحفظ البيانات الأساسية مثل أسماء اللاعبين و الغرف المختلفة و هكذا...

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#7

السلام عليكم

فى البداية يجب الا تتدخل الامور الدينية فى هذا الموضوع ومسالة الحلال والحرام ففيها خلافات كثيرة

واعتبروا ان الشروع تعليمى فهو يغطى الكثير من الامور البرمجية(خوارزميات،شبكات،.....الخ)

وبما انى داخل على C# فاساهم معكم بهذا الشروع منتظرين منك الشيفرة المصدرية ياباشمهندس مع وضع الخطوط العريضة للبدء فى التنفيذ

انا ايضا كنت قد بدءت بكتابة مشروع للعبة ورق وتوقفت لعدم وجود وقت فراغ كنت قد كتبت الكلاسات الاساسية التى تقوم بتوزيع وترتيب الورق ورسمها باستخدام card.dll وبعدين وقفت

لعبة الطرنيب بصراحة لا اعرفها ولكن يمكننى المساهمة معكم :rolleyes:

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#8
KARIMSOFT كتب:
ولكن كيف تكون حاملي لدين الله وتختار هذه اللعبة يمكنك ان تحولهل للعبة اتكملت الاحديث النبوية علي النت

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

أما بالنسبة للأخ SOLO.NET

اقتباس
فى البداية يجب الا تتدخل الامور الدينية فى هذا الموضوع ومسالة الحلال والحرام ففيها خلافات كثيرة

واعتبروا ان الشروع تعليمى فهو يغطى الكثير من الامور البرمجية(خوارزميات،شبكات،.....الخ)

كيف نبعد الدين عن هذا ، أيوجد دين ودنيا ، أم دين وبرمجة

أخي العزيز الدين لا ينفصل عن حياتنا بالمرة أين كانت

فالرسول صلى الله عليه وسلم أتى بالدين الفطرة لما يوفق الدنيا التي خلقها الله

أما بالنسبة للحلال والحرام فأذكرك بهذا الحديث :

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

أما بالنسبة لمشروع تعليمي فهذا ما أنظر إليه وليس إعتبار ، فأنا أحد الأشخاص الذين ينظرون إليه من مبدأ واحد وهو التعلم

وأنا قلت سابقا أني لا أفتري على الله في تحريم تصميم هذه اللعبة من مبدأ التعلم وقلت أني سوف أسأل ، وذلك لقول الرسول صلى الله عليه وسلم

اقتباس
« أجرؤكم عل الفتيا أجرئكم على النار » . ضعيف. "الضعيفة" (1814) .

وبارك الله فيكم جميعا

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#9

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

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#10
اقتباس
كيف نبعد الدين عن هذا ، أيوجد دين ودنيا ، أم دين وبرمجة

أخي العزيز الدين لا ينفصل عن حياتنا بالمرة أين كانت

فالرسول صلى الله عليه وسلم أتى بالدين الفطرة لما يوفق الدنيا التي خلقها الله

بارك الله فيك يا باشمهندس كفيت ووفيت

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

واذا كنت ترى خلاف ذلك فلما طرحت الموضوع؟

وننتظر رد الاخAhmed H. Alawady

من جديد اتمنى عدم تحويل مجريات النقاش ونخرج عن الموضوع

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#11

قبل ارفاق الكود ان شاء الله

سأحاول شرح التصميم حتى يسهل فهم الكود بعد ذلك

03_01_06_03_19_35_1136330375Cards.gif

بالطبع كما يظهر بالشكل فالتصميم الأساسي يحتوي على 3 classes أساسية و هي

Card و تمثل ورقة اللعب و تحتوي على متغيرين فقط واحد لفئة الورقة Suit و الثاني لقيمتها Rank

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

الClass الأخيرة ترث من CardsCollection و هي Deck أي رزمة ورق اللعب و هي فئة خاصة لأنها تحتوي على 52 ورقة فقط و لا يمكن أن تزيد عن هذا كما أنها تحوي بعض الخصائص الأخرى مثل لون ظهر الورقة

كما توجد Class أخرى اسمها NativeCard (لاتظهر في الشكل) و فائدتها هي عمل غلاف للمكتبة Cards.dll بحيث تسهل التعامل معها فكل ماعليك هو اعطاء الClass اسم الورقة و فئتها و handle على الcontrol المُراد الرسم عليه و ستتولى cards.dll رسم الورقة

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#12

بسم الله الرحمن الرحيم

السلام عليكم جميعا, أنا مبرمج أردني أعمل في شركة خليجية من سنة تقريبا, أود أن أتطرق إلى موظوع أن اللعبة حرام, في أيام الجامعة و إحنا بناخذ مادة الجافا كان الدكتور شيخ و تقي و بخاف ربه, و كان في case study أعطانا إياها ك project و هي عبارة عن لعبة تشبه لعبة القمار, و صار نقاش طويل جدا على موضوع الحلال و الحرام, كانت وجهة نظر الدكتور و أنا أتفق معها أن اللعبة بها أفكار و خوارزميات و فائدة كبيرة جدا صعب أن نجدها في أي موضوع آخر, أرجو من الأخوة النظر إلى الموضوع من باب العلم و الإستفادة و بالنسبة للإقتراحات الأخرى كعمل لعبة على الأحاديث النبوية الشريفة, مهما كانت اللعبة قوية و عميقة لن نستطيع أن نصل إلى جميع الأفكار التي تطرحها لعبة الطرنيب, و لماذا لا نعمل اللعبتين معا أو ننتهي من الطرنيب و نخترع لعبة عن الأحاديث.

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

نشكرك أخ بشموهندس و إحنا معاك و إن شاء الله خير

#13

السلام عليكم ورحمة الله وبركاته

يا أخوتي في الله ، أقسم بالله العظيم أنا معكم في جميع آرائكم وكان مجرد ردي على كلامكم فقط وليس على الموضوع بالذات

ولكن للحيطة يجب أن نسأل علشان نبقى مستريحين في الشغل بدون أي قلق وأعتقد ده ميزعلش حد أبدا ، والموضوع ايه سؤال بسيط ورد عليه يا حرام ياحلال بس .

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#14

السلام عليكم ورحمة الله وبركاته

"لقد جأتك من سبأ بخبر يقين"

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

والله عندما سألته كنت على يقين أنه سوف يقول لي أنها حلال 100%

ولكن صدمت بالرد فقال لي :

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

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

ولقد ذكرت له اللعبة الأخرى التي ذكرها الأخ KARIMSOFT أن نجعلها لعبة مشابهة ولكن بإسلوب إسلامي فوافق وأيد الفكرة.

والنتيجة التي استنتجتها النهائية ==> "حرام" أو كما قال وهو بالحرف الواحد "به شبهه كبيرة"

هذا ما أحببت أن أوصله لكم ، وعذرا على ذلك فأنا أعتذر عن المشاركة مادامت اللعبة غير إسلامية .

Name : Ahmed H. Alawady

Web Site : Alawady.info

Email : alawady_ahmed@hotmail.com

Tel : +2 012 345 6808

#15

بارك الله فيك اخ Ahmed H. Alawady

ولكن هل تعرف لعبة اخرى اسلامية تحتاج الى خوارزميات معقدة وفيها شغل جامد مثل هذه اللعبة

ارجو ان تجدو البدائل والا نتوقف هنا فاللعبة التى طرحها الاخ باشمهندس يتدخل فيها AI

فهل هناك بديل اسلامى وبعيد عن الشبهات حتى نفيد ونستفيد

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#16

بما انكم توصلتم لقرار أنها لعبة حرام سيتم غلق الموضوع

Sr. Software Development Engineer
Hulu, LLC
My Blogs

هذا الموضوع مغلق.

مواضيع مشابهة