تصميم لعبة اكس أو × & O للاعبين

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

1-نقوم بفتح الفيجوال بيسك ثم نقوم بانشاء مشروع جديد و نسميه  X&o   
2- نقوم باضافة تسعة أزرار   Buttons الى النموذج و نغير خصائصهم جميعا كما يلي :

الخاصية FlatStyle اجعلها Flat 

الخاصية BackColor اجعلها White 

بحيث يكون التصميم النهائي للعبة قريب من الشكل التالي :



نذهب الآن الى نافذة الكود Code Windows ((يمكنك الانتقال الى نافذة الكود بالضغط F7)) لكتابة الاكواد اللازمة

سوف تجد مبدئيا الكود التالي :
Public Class Form1

End Class

قم بنسخ الكود التالي كاملا وضعه بين السطرين السابقين
Public Class Form1
 قم بنسخ الكود التالي هنا
End Class

الكود:


Dim a As Integer = 1
    Dim s As Integer = 0

    Private Sub Buttons_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click, Button4.Click, Button5.Click, Button6.Click, Button7.Click, Button8.Click, Button9.Click
        If a = 1 Then
            sender.text = "×"
            sender.backcolor = Color.Yellow
            sender.enabled = False
            a = 0
        Else
            sender.text = "0"
            sender.backcolor = Color.LightSalmon
            sender.enabled = False
            a = 1
        End If
        s = s + 1
        q()
    End Sub


    Private Sub q()
        If Button1.Text = "×" And Button2.Text = "×" And Button3.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        ElseIf Button4.Text = "×" And Button5.Text = "×" And Button6.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        ElseIf Button7.Text = "×" And Button8.Text = "×" And Button9.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        ElseIf Button1.Text = "×" And Button4.Text = "×" And Button7.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        ElseIf Button2.Text = "×" And Button5.Text = "×" And Button8.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        ElseIf Button3.Text = "×" And Button6.Text = "×" And Button9.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        ElseIf Button1.Text = "×" And Button5.Text = "×" And Button9.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        ElseIf Button3.Text = "×" And Button5.Text = "×" And Button7.Text = "×" Then
            MsgBox("اللاعب الأول فاز")
            clear()
        End If

        If Button1.Text = "0" And Button2.Text = "0" And Button3.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        ElseIf Button4.Text = "0" And Button5.Text = "0" And Button6.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        ElseIf Button7.Text = "0" And Button8.Text = "0" And Button9.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        ElseIf Button1.Text = "0" And Button4.Text = "0" And Button7.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        ElseIf Button2.Text = "0" And Button5.Text = "0" And Button8.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        ElseIf Button3.Text = "0" And Button6.Text = "0" And Button9.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        ElseIf Button1.Text = "0" And Button5.Text = "0" And Button9.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        ElseIf Button3.Text = "0" And Button5.Text = "0" And Button7.Text = "0" Then
            MsgBox("اللاعب الثاني فاز")
            clear()
        End If
        If s = 9 Then
            MsgBox("تعادل")
            clear()
        End If
    End Sub


    Private Sub clear()
        If MsgBox("هل تريد اللعب مجددا", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
            Button1.Text = ""
            Button2.Text = ""
            Button3.Text = ""
            Button4.Text = ""
            Button5.Text = ""
            Button6.Text = ""
            Button7.Text = ""
            Button8.Text = ""
            Button9.Text = ""
            Button1.Enabled = True
            Button2.Enabled = True
            Button3.Enabled = True
            Button4.Enabled = True
            Button5.Enabled = True
            Button6.Enabled = True
            Button7.Enabled = True
            Button8.Enabled = True
            Button9.Enabled = True
            Button1.BackColor = Color.White
            Button2.BackColor = Color.White
            Button3.BackColor = Color.White
            Button4.BackColor = Color.White
            Button5.BackColor = Color.White
            Button6.BackColor = Color.White
            Button7.BackColor = Color.White
            Button8.BackColor = Color.White
            Button9.BackColor = Color.White
            a = 1
            s = 0
        Else
            End
        End If
      
    End Sub


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





هناك 15 تعليقًا:

  1. بجد اشياء رائعة و لكن اين تعلمت البرمج بالفيجوال بيسيك؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    ردحذف
  2. الاخ عبد الرحمن،

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

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

    أتمنى تكون الصورة وصلت و وضحت لك .

    تذكر : "الترجمة فالمحاكاة فالابتداع "
    بمعنى : 1- شاهد برامج الآخرين
    2- حاول تقليدها
    3- ابدع بعد ذلك برامجك الخاصة
    تحياتي

    ردحذف
  3. ما ضبط الـ x معي

    ردحذف
  4. أخي لو سمحت هذا الكود هنا يعطيني خطأ فيه

    sender.text = "×"
    sender.backcolor = Color.Yellow
    sender.enabled = False
    a = 0
    Else
    sender.text = "0"
    sender.backcolor = Color.LightSalmon
    sender.enabled = False
    a = 1
    حيث أنه لا توجد في الفيجول استديوا sender.Text-backcolor-enabled
    فهل من طريقة أخرى لو سمحت

    ردحذف
  5. رجاءاشرح الكود

    ردحذف
  6. رجاءا شرح الكود

    ردحذف
  7. ممكن تعمل العبه بس العب انا والكمبيوتر مش بين لاعبين

    ردحذف
  8. علمني الطريقه لما اسويها لعبه ذكيه يعني لما العبها معا الحاسوب يكون ذكي وما اقدر افوز عليه صح نحتاج العديد من الشروط بس انت علمني الطريقه والشروط الذي بتكون كثيره ارجع اكملها من نفسي
    الله يخليك احتاجها ضروري

    ردحذف
  9. روووووووووعه بس شو فائده هذا الكود
    s = s + 1
    q()

    ردحذف
  10. السلام عليكم ورحمة الله وبركاته

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

    ردحذف
  11. شكرا جزيلا اخي ..... فعلا معلوماتك مفيده .

    ردحذف
  12. شكرا جزيلا ..هل من الممكن ان استفسر منك عن بعض الاوامر في الفيجوال خطر ع بالي فكرة لتطوير اللعبه ولكني لم انجح في التنفيذ

    ردحذف
  13. يا باشمهندس كنت عايز اتكلم مع حضرتك شويه فى حاجات مهمه انا اسمى كرم الهوارى من مصر بدرسه تكنولوجيا معلومات

    وده الايميل بتاعى ع جوجل

    karam.hwary@gmail.com

    وده ايميلى على الفيس بوك

    karam elhamamy

    فى انتظارك ..........................................

    ردحذف