|
مساحة اعلانات نصية ذهبية |
||
اعلن هنا | اعلن هنا | اعلن هنا |
|
أدوات الموضوع | انواع عرض الموضوع |
#1
|
|||
|
|||
شرح كيفية برمجة لعبة Tic Tac Toe بسيطة باستخدام فيجوال بيسك دوت نت VB.Net
بسم الله الرحمن الرحيم
فكرتي هنا لبرمجة لعبة Tic Tac Toe أو XO هو باستخدام الأزرار Buttons , حيث سيتم وضع 9 أزرار ويكون هناك لاعبين Players : 1 , 2 ويقوم البرنامج عند الضغط على زر معين بقراءه رقم اللاعب , فلو كان اللاعب الحالي هو 1 فانه سيقوم بتغيير نص الزر button text الى X وثم يغير قيمة اللاعب Players الى اللاعب الثاني 2 , والعكس صحيح لو كان الدور للاعب 2. بدايةً , اعمل مشروع جديد وأضف فيه Buttons بعدد 9 وقم بتغيير أسماء الأزرار في الصف الأول من الزر الأيسر الى الأيمن , btn1 , btn 2 , btn3 بحيث تكون ارقامها كالآتي سنقوم بعمل متغير عام نسميه Player وهو دور اللاعب سواء كان 1 او 2 , وفي بداية اللعبة سيكون دور اللاعب 1 واللاعب 1 هو X بينما 2 هو Y كود PHP: Dim Player As String ضع الكود مباشرة تحت Public class form1 والآن سنضيف الكود الآتي الى الحدث Form1_Load كود PHP: Timer1.Start() Player = "1" Btn1.TabStop = False Btn2.TabStop = False Btn3.TabStop = False Btn4.TabStop = False Btn5.TabStop = False Btn6.TabStop = False Btn7.TabStop = False Btn8.TabStop = False Btn9.TabStop = False بعد ذلك أضف تايمر الى المشروع Timer1 لاحظ في كود الحدث Form1_load بدأنا اولا عمل الساعة ثم عرفنا قيمة اللاعب بأنه 1 , وعطلنا ال TabStop لجميع الأزرار وهذا اختياري. الآن اضف في كل زر الكود الآتي كود PHP: If Player = "1" Then Btn1.Text = "X" Btn1.Enabled = False Player = "2" --Player2-- ElseIf Player = "2" Then Btn1.Text = "O" Btn1.Enabled = False Player = "1" End If لاحظ أننا عملنا شرط , لو اللاعب = 1 اعمل كذا ولو كان 2 اعمل كذا يتم تغيير نص الزر الى X or O حسب اللاعب وثم قمنا يتعطيل الزر حتى لا يستطيع اللاعب التحكم فيه مرة اخرى وثم يتم تغيير قيمة متغير اللاعب الى الاعب الاخر... أضف نفس الكود الى جميع الازرار مع تغيير رقم الزر من 1 الى 9 حسب الزر الآن لو تشغل المشروع وتضغط على أي زر بتلاحظ أنه بكون X والزر الي بعده O والي بعده X وبعده O وهكذا... ولاحظ أيضا انه سيتم تعطيل الزر الآن باقي لنا نضيف الزر لتحديد هل اللاعب فاز او لا توجه الى اخر سطر أي كود حيث توجد كلمة End sub واضف في سطر جديد الآتي كود PHP: Private Sub TheWinner() End sub وأضف فيه الكود الآتي كود PHP: If Btn1.Text = "X" And Btn2.Text = "X" And Btn3.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") ElseIf Btn1.Text = "O" And Btn2.Text = "O" And Btn3.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn1.Text = "O" And Btn5.Text = "O" And Btn9.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn1.Text = "X" And Btn5.Text = "X" And Btn9.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") ElseIf Btn1.Text = "X" And Btn4.Text = "X" And Btn7.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") ElseIf Btn1.Text = "O" And Btn4.Text = "O" And Btn7.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn3.Text = "X" And Btn6.Text = "X" And Btn9.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") ElseIf Btn3.Text = "O" And Btn6.Text = "O" And Btn9.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn3.Text = "X" And Btn5.Text = "X" And Btn7.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") ElseIf Btn3.Text = "O" And Btn5.Text = "O" And Btn7.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn2.Text = "X" And Btn5.Text = "X" And Btn8.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") ElseIf Btn2.Text = "O" And Btn5.Text = "O" And Btn8.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn7.Text = "O" And Btn8.Text = "O" And Btn9.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn7.Text = "X" And Btn8.Text = "X" And Btn9.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") ElseIf Btn4.Text = "O" And Btn5.Text = "O" And Btn6.Text = "O" Then Timer1.Stop() MsgBox("Player 2 is the winner") ElseIf Btn4.Text = "X" And Btn5.Text = "X" And Btn6.Text = "X" Then Timer1.Stop() MsgBox("Player 1 is the winner") Else GameOver() End If قد يبدو طويلا الا انه متكرر , حيث يقوم البرنامج بعمل شروط , اذا كانت العناصر متشابهة افقيا او عموديا او كان مائلا الى اليمين او اليسار فانه سوف يوقف التايمر أولا ثم يظهر مسج بوكس يفيد من هو اللاعب الفائز لاحظ في اخر الكود وجود GameOver() لم يتعرف عليه الفيجوال بيسك أضف في نهاية كلمة End sub بعد سطر جديد الآتي كود PHP: Private Sub GameOver() If Btn1.Enabled = False And _ Btn2.Enabled = False And _ Btn3.Enabled = False And _ Btn4.Enabled = False And _ Btn5.Enabled = False And _ Btn6.Enabled = False And _ Btn7.Enabled = False And _ Btn8.Enabled = False And _ Btn9.Enabled = False Then Timer1.Stop() MsgBox("Game OVER!") End If End Sub لان في كل ضغطة يتم تعطيل الزر , اذا كان جميع الازرار معطلة فان البرنامج سوق يظهر مسج بوكس فيه خسرت اللعبة وأخيراً , اضغط مرتين على التايمر وأضف الكود الآتي كود PHP: TheWinner() شغل المشروع , واستمتع باللعب |
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
مشكلة فيجوال بيسك | eshrag.net | المنتدى العام - مواضيع عامة | 0 | 08-02-2010 04:01 PM |
[درس] للمبتدئين في فيجوال بيسك دوت نت VB.Net | eshrag.net | المنتدى العام - مواضيع عامة | 0 | 08-01-2010 02:52 PM |
ما الفرق بين فيجوال بيسك و فيجوال بيسك دوت نت وما أفضل إصدار من جميع النواحي.. أدخل | eshrag.net | المنتدى العام - مواضيع عامة | 0 | 07-28-2010 08:41 AM |
فيجوال بيسك وفلاش | eshrag.net | المنتدى العام - مواضيع عامة | 0 | 07-09-2010 01:51 AM |
فيجوال بيسك 6 | eshrag.net | المنتدى العام - مواضيع عامة | 0 | 07-06-2010 12:10 PM |
شراء روابط نصية | |
راسلنا الآن لشراء روابط نصية باك لينك وجيست بوست | خدمات الباك لينك والروابط النصية |
روابط نصية AAXA | ||||
اشتراك يوتيوب بريميوم | اشتراك تطبيقات بلس | اشتراك IPTV شهر | يوتيوب بريميوم | عسل النحل |
روابط نصية AAPS | ||||
دراما كافيه | دراما صح | اهواك Tv | فوستا | شبكتي Tv |
روابط نصية AA1A | |||||
كورة لايف | koora live | مباريات اليوم بث مباشر | kora 360 | koora4live | كورة لايف |
koora live | مباريات اليوم بث مباشر | kora 360 | koora4live | kooralive | مساحة إعلانيه |
روابط نصية AAZ | ||
متجر الرياض | شحن شدات ببجي | شحن شدات ببجي |
روابط نصية AHD3 | |||||||||
عزل اسطح | كشف تسربات المياه | عزل فوم بالرياض | شركة عزل اسطح | كشف تسربات المياه بالرياض | عزل اسطح بجدة | شركة كشف تسربات المياه | نقل اثاث بالرياض | شراء اثاث مستعمل بالرياض | شركة تنظيف بالرياض |
روابط نصية KSM | |||||||
خصومات | هدايا وكوبونات | توفير المال | مال واستثمار | صفقات وتسوق | عروض اسواق السعودية | تحسين مالي | كوبونات |
روابط نصية AN | ||||
يلا شوت | يلا شوت | يلا لايف | yalla shoot | يلا شوت |
روابط نصية M11 | |||||||
كورة جول | يلا لايف | دوت سبورت | bein match | yalla shoot | yalla shoot | koora live | koora live |
يلا شوت | koora4live | سوريا لايف | تابع لايف | كورة لايف | كورة جول | كورة لايف | koora live |
روابط نصية AWA | ||||
كورة لايف | Koora live | يلا شوت | Yalla shoot | يلا شوت |