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

لعبة كانسة الألغام MineSweeper على الكونسول

بدأه KeepForward في 12 فبراير 2014 · 4 رد · 2,322 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لعبة كانسة الألغام عل كونسول إذا حدا حابب يستفاد بليرة

 

شاركونا آراءكم
 

جميع الدوال المستخدمة من مكتبة Windows.h



OmarsMineSweeper.rar

1
#2

لعبة  جميلة  و  اتمنا  لك  المزيد  من التفوق

 

لكن  يا ريت لو  توضح  كيفية  سير  الاكواد  و  الافكار الاساسية :huh:   

 

اذا  ما  كان  عندك  مانع :blush:

للإطلاع  على جديد  الكتب من تأليفي


 


الطريق لاحتراف تطوير المواقع   ج1 | ج2 | ج3 | ج4


 


                    4Colors | Break Out | Classic Snake | لعبة السودوكو - 2014  |  لعبة  XO                      


 


Help Dodo


 


^_^


 

#3

تعتمد فكرة اللعبة بشكل أساسي على الدالة ReadConsoleInput التي تتحسس للدخل من الفأرة أو الكيبورد
وتقوم بإعطاء قيمة للمتغير الرابع في حال تحسس دخل.
الشرح يطول جدا في هذه الدالة الكبيرة والعظيمة لذلك أرفقت لك برنامج يوضح عملها بشكل جيد

Keyboard & Mouse Events.rar

 

وهذا مثال جميل من شركة مايكروسوفت لهذه الدالة

Cpp1.rar

 

 

وهنالك الدالة SetConsoleCursorPosition التي تقوم بنقل موضع مؤشر الكونسول إلى مكان معين للبدأ بالرسم من ذلك المكان

وهاك مثال بسيط جدا عن مبدأ عملها

Cpp1.rar

 

 

والدالة SetConsoleTextAttribute التي تقوم بتغير اللون


والآن نأتي للدوال المصنوعة :

في المكتبة Body تم وضع structure للقطع في اللعبة الذي يحوي على :

 

cont الرقم المضمن في الرقعة أو -33 : لغم

cont2 لتخزيم إذا ما تم وضع علم على الرقعة أم لا
x , y : إحداثيات الرقعة
mode : الرقعة مفتوحة أم مغلقة

المؤشرات : مؤشرات على الرقع المحيطة بالرقعة


المكتبة Drawer :

putvalues : تعين الاحداثيات لكل رقعة
drawflint : لرسم كل رقعة ( المدخلات : رقم الرقعة 1 , رقم الرقعة 2 , لون الرقعة عندما تكون مغلقة  , لون الرقعة عندما تكون مفتوحة )

connectflint : لتعين الرقع المجاورة لكل رقعة



المكتبة Libraries :

A : مصفوفة الرقع
pointed : مؤشر على الرقعة المعلمة
flint0 : تابع تعيين البرامترات الأولية
mytime : تابع تأخير زمني


المكتبة Events :

 

dopoint : التعيين بمؤشر الفأرة على رقعة مغلقة
unpoint : إزالة التعيين عن الرقعة بعد إنزياح المؤشر عنها
unlockflint : فتح رقعة معين عليها
markflint : تعيين رقعة بعلم على أنها تحتوي على لغم

checkothers : فتح الرقع المحيطة بالرقعة المفتوحة في حال كانت لا تحتوي على أي قيمة

boooooomb : فتح باقي الرقع في حال تم فتح رقعة ملغومة



roundmines : توزيع الألغام بشكل عشوائي
setcounts : توزيع القيم على الرقع بعد توزيع الألغام



You Welcome

4
#4

...

تم تعديل هذه المشاركة بواسطة KeepForward في 12 فبراير 2014 في 18:25

#5

جزاك  الله   كل  خير  على  هذا  الشرح  الاكثر  من  رائع :D  :D  :D

للإطلاع  على جديد  الكتب من تأليفي


 


الطريق لاحتراف تطوير المواقع   ج1 | ج2 | ج3 | ج4


 


                    4Colors | Break Out | Classic Snake | لعبة السودوكو - 2014  |  لعبة  XO                      


 


Help Dodo


 


^_^


 

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