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

مسابقة شهر رمضان المبارك - السؤال الأول

مغلق
بدأه Snack3r في 20 يوليو 2012 · 10 رد · 2,084 مشاهدة · في مشاريع ومسابقات القسم
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

مرحبا بكم إخواني الكرام في موضوع السؤال الأول من أسئلة هذه المسابقة :)

سؤال اليوم يتعلق ببرمجة لعبة المشنقة, تجدون التفاصيل في ملف PDF في المرفقات.

أيضا يمكنكم مشاهدة أو تحميل الملف من خلال روابط Mediafire التالية :

معلومات أخرى مهمة:

  • مدة السؤال : يومان.
  • تُكتب الدوال في ملف رأسي مستقل (Header file).
  • تمر برمجة اللعبة بثلاث مراحل, يتم إرسال كل مرحلة على حدة.

أرجو لكم التوفيق.

Q1.pdf

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 20 يوليو 2012 في 17:33 — السبب: تحديث المشاركة.

#2

هذه المشاركة مخصصة للرد على استفسارات الأعضاء حول هذا السؤل.

:: تعديل ::

المصفوقة الثانية Mask التي تحتوي على 25 صنف, مالمقصود بالصنف ؟

الصنف هو مجموعة من الكلمات تبدأ بنفس الحرف و لا يُشترط أن تتساوى في الطول, انظر المثال:

char Liste[][30] = {"abolir", "ablution", "bachot", "balise", "cabine", "camphre",
    "debit", "decorum", "echoir", "egouts", "famine", "fantoche", "gazeux", "granite",
    "hiatus", "hideux", "ignoble", "iguane", "rejouir", "jongler", "kaolin", "kiosque",
    "lezard", "linotype", "malice", "mastiquer", "nymphe", "nickel", "orage", "optique",
    "oraison", "parution", "pendu", "quartz", "quater", "rayon", "rapide", "scenario",
    "scolaire", "tacher", "terminus", "univers", "urbanisme", "vestibule", "violent",
    "wagon", "water-polo", "xelophone", "yard", "yen", "zenith", "zephyr"};

char Mask[][30] = {"ab____", "a______n", "b__h__", "b__i__", "c_b___", "___ph__",
    "d____", "d_____m", "_c___r", "_go___", "f_i__", "f____c__", "g____x", "g___i__",
    "h_a___", "h____x", "i_____e", "ig____", "__j___r", "j__g___", "k___i_", "k_____e",
    "l____d", "l____y__", "m__i__", "m____q___", "n___h_", "n__k__", "o__g_", "_p__q__",
    "o_a____", "p______n", "p___u", "q_a___", "q____r", "r_y__", "r_p___", "_c__a___",
    "s___a___", "t__h__", "t_r_____", "u__v___", "_rb______", "v__t_____", "v__l__",
    "w____", "_a___-p___", "x_____o__", "_ar_", "___", "z__i__", "z___y_"};

ما هي المكتبات التي تتعامل مع الكتابة بالالوان ؟

يمكنك استخدام الدالة system لتلوين الكتابة و الخلفية أيضا. هذه الدالة موجودة في المكتبة cstdlib.

إن كنت تعمل على الــ Windows فيمكنك تضمين المكتبة windows.h لاستخدام الدالة SetConsoleTextAttribute التي يمكنها تلوين الكتابة بألوان مختلفة, دالة التلوين ستكون هكذا:

void ColorText(int couleurDuTexte) 
{
        HANDLE hCon = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleTextAttribute(hCon,couleurDuTexte);
}

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 20 يوليو 2012 في 17:13 — السبب: الإجابة على أسئلة العضو أحمد شلبي.

#3

هذه المشاركة ستحتوي على أسماء المترشحين.

:: تعديل ::

أسماء المشاركين :

  1. نظريا :

[*]عمليا:

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 23 يوليو 2012 في 15:45 — السبب: تحديث المشاركة.

#4

هذه المشاركة مخصصة لعرض عدد نقاط المشاركين و محاولاتهم بعد انتهاء مدة السؤال.

:: تعديل ::

عدد النقاط التي حصل عليها العضو ahmad shalabi هي 0/11.

post-219439-061171800 1343046497_thumb.g

ملاحظات على محاولة العضو TheInventorHabib :

  1. استخدمتَ goto أربع مرات في اللعبة و هذا غير محبب !
  2. اللعبة لا تدعم الــ Backspace عند إدخال الكلمات.
  3. إذا خسر المستخدم ثم أعاد اللعبة من جديد :
    • عندما تظهر الجملة Press any key to continue يتم عرض عدد الثواني في أسفل الشاشة و هذا غير مناسب !

      post-219439-017896200 1343046589_thumb.p


    • عندما يُدخل اللاعب اسمه من جديد, لا تظهر أية معلومات على يمين الشاشة :

      post-219439-039971600 1343046599_thumb.p


[*]إذا فاز اللاعب في التخمين الأول و الثاني ثم خسر في التخمين الثالث تتوقف اللعبة !, و هذا غير صحيح لأن اللعبة يجب أن تتوقف عندما يصبح رصيد اللاعب يساوي صفر. كان من حق اللاعب أن يحظى بتخمين رابع ..

post-219439-037869300 1343046611_thumb.p

[*]طباعة الكلمات فوق بعضها البعض, إذا كانت الكلمة الحالية أقصر من الكلمة السابقة ستظهر حروف الأخيرة فوق الأولى !, مثلا إذا جاءت الكلمة enter بعد at-now فسيكون الإظهار هكذا :

post-219439-058414000 1343046623_thumb.p

[*]الإدخال يدعم حساسية الأحرف, إذا كانت الكلمة add و أدخل المستخدم Add سيعتبر البرنامج أن الإدخال خاطئ !

[*]الجملة you have finished in xxx S تدل على نجاح اللاعب, إذا يجب أن تكون باللون الأخضر.

النقاط التي حصلها عليها العضو TheInventorHabib :

  1. المرحلة الأولى (2/2) :
    • يتم تلوين رسائل الخطأ باللون الأحمر و التنبيهات بالأصفر و رسائل النجاح باللون الأخضر. اللون العام للكتابة يكون بالأبيض. (1/1)
    • في كل مرة يخسر اللاعب في تخمين الحرف الصحيح يتم رسم جزء من المشنقة, و عندما تنتهي المحاولات تكون صورة الإعدام قد اكتملت. (1/1)

[*]المرحلة الثانية (2/3)

  • استخدام Structure في السي أو Class في السي++ يحتوي على خصائص اللاعب.(1/1)
  • عند بداية اللعبة, يتم إظهار عدد الثواني على الشاشة بشكل مستمر. (1/1)
  • تقسيم الدوال إلى دوال مستقلة (1/1)
  • بإمكان المستخدم اللعب من جديد. (0/1)
  • تخزين معلومات كل لاعب و عرض معلومات جميع اللاعبين عند بداية كل شوط. (0/1)

[*]المرحلة الثالثة (0/4)

[*]كتابة ملف خاص بتوثيق اللعبة (2/2).

مجموع النقاط التي حصل عليها العضو TheInventorHabib يساوي 6/11

في المرفقات, محاولة العضو + ملف التوثيق.

post-219439-061171800 1343046497_thumb.g

عدد النقاط التي حصل عليها العضو W.A.R.D هي 0/11.

post-219439-061171800 1343046497_thumb.g

مبروك للعضو TheInventorHabibعلى الفوز في السؤال الأول و حظ أوفر لبقية المشاركين.

Michna9a.rar

المرفقات
alward.gifError 1.pngError 2.pngError 3.pngError 4.png

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 2 أغسطس 2012 في 13:14 — السبب: تحديث المشاركة.

#5

السلام عليكم

كل عام وأنتم بخير

وينعاد علينا وعليكم بالركة

المصفوقة الثانية Mask التي تحتوي على 25 صنف شو قصدك بالصنف

وهل كل صنف يجب ان يحتوي نفس العدد من الاحرف ولا فقط انه تبدأ بنفس الحرف

ومثلا اذا في 3 كلمات عنا تبدأ بنفس الحرف شو الحل للكلمة الرابعة

واخر استفسار ما هي المكتبات التي تتعامل مع الكتابة بالالوان

وغلبناك كثير بالاستفسارات لا تواخذنا

تم تعديل هذه المشاركة بواسطة ahmad shalabi في 20 يوليو 2012 في 16:18

#7

أخي كم من عضو شارك حتي الأن

+ كان عليكم أن تسهلو السوؤال الأول لكي يشاركو العديد

#8
اقتباس
كان عليكم أن تسهلو السوؤال الأول لكي يشارك العديد

قمنا بتقسيم برمجة اللعبة إلى 3 أجزاء لتسهيل المشاركة, الجزء الأول بسيط جدا و الجزء الثاني عادي و الجزء الثالث هو الذي يستحق التفكير :)

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

+

نقاط التوثيق (Documentation) إن قام بشرح السورس كود في ملف PDF.

#9

في الحقيقة لم افهم مسالة الصنف ؟؟

وما هلاقة المصفوفة list بلمصفوفة mask ؟؟

حيث ان الاولى تحتوي على كلمات ذات معنى, والثانية ما هي ؟؟

تم تعديل هذه المشاركة بواسطة W.A.R.D في 22 يوليو 2012 في 14:55

#10
اقتباس
حيث ان الاولى تحتوي على كلمات ذات معنى, والثانية ما هي ؟؟

الأولى تحتوي على جميع الكلمات التي يمكن استخدامها في البرنامج (يمكنك اعتبارها بمثابة قاموس اللعبة).

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

*al**e

الكلمة الأولى تكون في المصفوفة List و الثانية تكون في المصفوفة Mask و هكذا ..

تم تعديل هذه المشاركة بواسطة أحمد الشنقيطي في 22 يوليو 2012 في 15:35 — السبب: تحديث المشاركة.

1

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…