اسم المشروع: Guess The Name
نوع المشروع: لعبة تخمين الكلمات متعددة اللاعبين
التقنيات المستخدمة: C#, Windows Forms, TCP Sockets, JSON
وصف عام
"Guess The Name" هو تطبيق مكتوب بلغة C# يستخدم Windows Forms لإنشاء لعبة تخمين الكلمات حيث يمكن لعدة لاعبين الاتصال بخادم واللعب ضد بعضهم البعض. يتضمن المشروع:
- خادم (Server) يتعامل مع الاتصالات وإدارة الغرف واللاعبين.
- عميل (Client) يسمح للاعبين بالانضمام إلى الغرف والمشاركة في اللعبة.
- واجهة مستخدم (GUI) لإدارة الخادم واللعب بسهولة.
المكونات الرئيسية
الخادم (Server.cs & ServerForm.cs)
- يعمل كوسيط بين اللاعبين، حيث يدير الاتصالات عبر TCP Sockets.
- يسمح بإنشاء غرف لعب متعددة، لكل منها كلمة سرية يجب تخمينها.
- يدير أحداث اللعبة مثل الانضمام إلى الغرف، بدء اللعبة، إرسال التخمينات، وإعلان الفائزين.
- يعتمد على JSON لتنسيق الرسائل بين العميل والخادم.
العميل (ClientForm.cs)
- يوفر واجهة تمكن اللاعبين من:
- تسجيل الدخول باستخدام اسم مستخدم.
- الانضمام إلى الغرف أو إنشاء غرفة جديدة.
- بدء اللعبة ومحاولة تخمين الكلمة المخفية.
- مشاهدة تقدم اللعبة ومعرفة الدور الحالي.
- يرسل ويستقبل البيانات من الخادم باستخدام TCP Sockets ويقوم بتحليل الردود باستخدام JSON.
طريقة اللعب
1. يقوم اللاعب بفتح التطبيق وإدخال اسمه.
2. يمكنه الانضمام إلى غرفة موجودة أو إنشاء غرفة جديدة.
3. عند بدء اللعبة، يتم اختيار كلمة سرية بناءً على فئة معينة (مثل الحيوانات، الطعام، السيارات، إلخ).
4. يحاول اللاعبون تخمين الكلمة عن طريق إدخال حروف واحدة تلو الأخرى.
5. إذا خمن اللاعب جميع الأحرف بشكل صحيح، يفوز باللعبة!
6. يمكن للآخرين مشاهدة اللعبة كمتفرجين أيضًا.
أهم الميزات
لعبة متعددة اللاعبين عبر الشبكة باستخدام TCP Sockets.
إمكانية إنشاء غرف والانضمام إليها بسهولة.
واجهة رسومية مبسطة باستخدام Windows Forms.
استخدام JSON لتبادل البيانات بين العميل والخادم.
إدارة الأدوار بين اللاعبين والتأكد من سير اللعبة بسلاسة.
دعم المشاهدين (Spectators) الذين يمكنهم متابعة اللعبة دون المشاركة.