تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[مشروع] ملف مفتوح ..تصميم لعبة ذكاء خاصة بالارقام
#1
السلام عليكم 

تنتشر  كثيرا نوع من الالعاز الرياضية  التي تعتمد على حل معادلة بسيطة 
كهذه مثلا :
[صورة مرفقة: %D8%A3%D9%84%D8%BA%D8%A7%D8%B2-%D8%A5%D9...%D8%AD.jpg]


في البرمجة نريد  ان نصمم هذه الالغاز ؟

مثل هذا 


كيف ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

محاولة :

نحتاج الى مجموعة صور نجعلها في ملف resources

 ثم في صفحة العمل سنضع شكل التمرين كالتالي :



اي  في السطر الاول 
 3صزر + 3 صور + 3 صور = ليبال
 نفس الشيء في السطر الثاني و الثالث

اما الرابع فقط نستبدل علامة + الى x   في الاخير و نضيف مربع نص للادخال

تمام

------------------------
لاحظ في الصورة  التالية 



لا حظ في ان الصور في المربعات البرتقالية نفسها
ايضا في الازرق و الاخضر

اي في الدالة سنضع نفس الصورة للمجموعات هذه 

ثم سنخفيها كلها  visible = false

 ثم في الدالة سنظهر فقط عدد معين من الصور الذي نشكل منه المعادلة 

جميل .................

يتبع

اولا كي ينجح العمل ........ اللقطة كلها في التسمية و  المصفوفة

السطر الاول كل صوره في المصفوفة 1 = {ص1.ص2.....................ص9}
لكن يجب ان يكون ترتيب الصور كالتالي

ص1 + ص2 + ص3 
ص4    ص5    ص6
ص7   ص8    ص9

يعني لما نظهر اقل عدد هو 3 اي ان استدعاء الصور من المصفوفة سيبدا من 2  العنصر الثالث

for i= 0 to  2 

------------------------------------------------------------
ثم في السطر الثاني نوعين من الصور 

المصفوفة 2 تضم  = {ص10....... ض15}

ص10  ص 11
ص12   ص13
ص14   ص15

في نفس السطر الثاني هناك مجموعة ثالثة 
مصفوفة3 = { ص16.ص17.ص18}
----------
وهكذا بقية الصور كلها من ثلاثة صور فقط


في البدياة نعلن عن اسماء هذه المصفوفات 
PHP كود :
  Dim PictureBoxPictureBoPictureBPictureBwPicturexPicturexdPicturexcAPicAPicx As PictureBox() 

يعني لدينا مصفوفة 9 مصفوفات  و نضع فيها الصور حسب الترتيب اعلاه  

PHP كود :
 PictureBox = {PictureBox1PictureBox2PictureBox3PictureBox4PictureBox5,
 
                   PictureBox6PictureBox7PictureBox8PictureBox9}

 
       Picturex = {Picturex1Picturex2Picturex3Picturex4Picturex5Picturex6}

 
       PictureBo = {PictureBo1PictureBo2PictureBo3}

 
       PictureB = {PictureB1PictureB2PictureB3}

 
       PictureBw = {PictureBw1PictureBw2PictureBw3}

 
       Picturexd = {Picturexd1Picturexd2Picturexd3}

 
       Picturexc = {Picturexc1Picturexc2Picturexc3}

 
       APic = {APic1APic2APic3}

 
       APicx = {APicx1APicx2APicx3

اللقطة كل اللقطة في المصفوفة و في وضعها بشكل مناسب في العمل

----------- يتبع

الان سنحفظ مصفوفة من نوع  arraylist  لحفظ الصور التي وضعهناها في ملف resources

انا وضعت 9 صور 



الان سنعلن عن المصفوفة
PHP كود :
   Dim picarry As New ArrayList 

و فيها نضع الصور

PHP كود :
picarry.Add(My.Resources.a)
 
       picarry.Add(My.Resources.b)
 
       picarry.Add(My.Resources.c)
 
       picarry.Add(My.Resources.d)
 
       picarry.Add(My.Resources.e)
 
       picarry.Add(My.Resources.f)
 
       picarry.Add(My.Resources.g)
 
       picarry.Add(My.Resources.h)
 
       picarry.Add(My.Resources.i)
 
       picarry.Add(My.Resources.j

الان  سنبدا في الكود الصح 

ننشيء دالة و لنسميها 

اولا نبدا بغيير الصور للسطر الاول اي 9 صور الاولى وهي المصفوفة 1 
نختار رقما عشوائيا من 0 الى حد مصفوفة صور السورس 
و نغير الصور و نخفيها ايضا 
PHP كود :
   Dim ali Rnd.Next(0picarry.Count)
 
       For i 0 To 8
            PictureBox
(i).Image picarry(ali)
 
           PictureBox(i).Visible False
        Next
     

كما ذكرنا سابقا نفس الصورة تكون للمربعات البرتقالية لذلك راجع المصوفوات التي تقابل هذه المربعات و لنضع فيها نفس الصورة  السابقة 
ثم نحذغ الصورة هذه من المصفوفة حتى لا تتكرر معنا
PHP كود :
For 0 To 2
            PictureBo
(i).Image picarry(ali)
 
           PictureB(i).Image picarry(ali)
 
           PictureBw(i).Image picarry(ali)
 
           PictureBo(i).Visible False
            PictureB
(i).Visible False
            PictureBw
(i).Visible False
        Next
      
        picarry
.RemoveAt(ali

نعلن عن متغير جديد عشوائي و سيكون من 0 الى حد مصوفوة السورس الذي نقص منه 1
و تغير صورة  السطر الثاني و الثالث و الرابع  حسب المربعات الزرقاء
PHP كود :
 Dim ali2 Rnd.Next(0picarry.Count)
 
       For i 0 To 5
            Picturex
(i).Image picarry(ali2)
 
           Picturex(i).Visible False
        Next

        For i 
0 To 2
            Picturexc
(i).Image picarry(ali2)
 
           Picturexc(i).Visible False
            Picturexd
(i).Image picarry(ali2)
 
           Picturexd(i).Visible False
        Next

        picarry
.RemoveAt(ali2

الان يبقى لنا مجموعتين المربع الاخضر
PHP كود :
Dim ali3 Rnd.Next(0picarry.Count)
 
       For i 0 To 2
            APic
(i).Image picarry(ali3)
 
           APic(i).Visible False
            APicx
(i).Image picarry(ali3)
 
           APicx(i).Visible False
        Next 

و هكذا نكون قد قمنا يتغغير الصور حسب المربعات و اخفيناها تمام

الان مع كود اللاظهار و حساب المعاملات 
يعني سنظهر عدد معينا من الصور مثلا في السطر الاول من 3 الى 9
ثم سنعلن عن متغير ما يحمل رقما عشوائيا  مثلا من 2 الى 10  وهو قيمة الصورة 
اي كي تفهم 

اظهرنا  5 صور ... نعلن عن متغير قيمته 2 .......اذان الناتج هو 5 ء 2 = 10
اي تظهر 5 صور قلم مثلا  و الناتج في اليبال  سيكتب 10 .............. يعرف المستخدم ان قيمة القلم هو 2 

فهمت ام لا ؟؟؟؟؟؟؟؟؟؟؟؟؟ 

اذن بالنسبة للسطر الاول سنخار رقما عشوائيا من 3 الى 8  اي من الصورة 4 الى 9 
و نظهر عدد الصور هذه ثم نختار رما ما هو المعامل و نحسب النتيجة

PHP كود :
 ' equation 1

        Dim ali4 = Rnd.Next(3, 9)
        For i = 0 To ali4 - 1
            PictureBox(i).Visible = True
        Next
        Dim ali5 = Rnd.Next(2, 10)
        Label4.Text = (ali4) * ali5 

 نفس العملية  مع السطر الثاني و الثالث ز الرابع 

PHP كود :
    ' 2 eqaution
        '
----1ele-------
 
       Dim ali6 Rnd.Next(14)
 
       For i 0 To ali6 1
            PictureBo
(i).Visible True
        Next
        
'-----2 ele
        Dim ali7 = Rnd.Next(2, 6)
        For i = 0 To ali7 - 1
            Picturex(i).Visible = True
        Next
        Dim ali8 = Rnd.Next(3, 11)
        Label5.Text = (ali6 * ali5) + (ali7 * ali8)


        ' 
3 equation

        
'----1ele-------

        Dim ali9 = Rnd.Next(1, 4)
        For i = 0 To ali9 - 1
            PictureB(i).Visible = True
        Next

        '
-----2 ele
        Dim ali10 
Rnd.Next(14)
 
       For i 0 To ali10 1
            Picturexc
(i).Visible True
        Next

        
'-----3 ele
        Dim ali11 = Rnd.Next(1, 4)
        For i = 0 To ali11 - 1
            APic(i).Visible = True
        Next

        Dim ali12 = Rnd.Next(3, 11)
        Label9.Text = (ali9 * ali5) + (ali10 * ali8) + (ali11 * ali12)

        ' 
4 equation
        Dim ali13 
Rnd.Next(14)
 
       For i 0 To ali13 1
            APicx
(i).Visible True
        Next


        
'-----2 ele
        Dim ali14 = Rnd.Next(1, 4)
        For i = 0 To ali14 - 1
            PictureBw(i).Visible = True
        Next

        '
-----3 ele
        Dim ali15 
Rnd.Next(14)
 
       For i 0 To ali15 1
            Picturexd
(i).Visible True
        Next 

 الان سنحسب الناتح ة نحفظع في قيمة متغير resultat

PHP كود :
  Resultat = (ali15 ali12) + (ali14 ali8) * (ali13 ali5

الان  ناتي الى مربع النص سنشترط فيه ادخال الاارقام فقط  كيف ؟

نعلن مع مصوفوة ارقام من 0 الى 9  

PHP كود :
Dim num() As Char = {"0""1""2""3""4""5""6""7""8""9"



الان نذهب الى مربع النص  في الحدث TextBox1_KeyPress

لا نقبل الى ما ينتمي الى هذه المصفوفة اي ما كان رقما دون مسافات

PHP كود :
If Not num.Contains(e.KeyChar) And Not Asc(e.KeyChar) = 8 Then
            e
.Handled True
        End 
If 

نواصل :

الان نضع زر للتصحيح و نقارن فيه بين قيمة مربع النص رقما و بين resultat التي حسبناها سابقا و نظهر له مربع نص
شرط ان لا يكون فارغا و الا ظهرت له رسالة تنبيه

PHP كود :
If TextBox1.Text "" Then
            MessageBox
.Show("انت لم تدخل جوابا""عبد الهادي")
        ElseIf CInt(TextBox1.Text) = Resultat Then
            MessageBox
.Show("رائع لك تفكير رياضي جميل""عبد الهادي")
        Else
            MessageBox.Show("للاسف تحتاج الى التركيز " vbNewLine "الجواب الصح هو" vbNewLine Resultat"عبد الهادي")

        End If 

الان نضع زر جديد هو للاعادة  و نحفظ فيه من جديد صور السورس في مصوفوة بعد تفريغها 

و نشغل دالة التوليد 

PHP كود :
 picarry.Clear()
 
       picarry.Add(My.Resources.a)
 
       picarry.Add(My.Resources.b)
 
       picarry.Add(My.Resources.c)
 
       picarry.Add(My.Resources.d)
 
       picarry.Add(My.Resources.e)
 
       picarry.Add(My.Resources.f)
 
       picarry.Add(My.Resources.g)
 
       picarry.Add(My.Resources.h)
 
       picarry.Add(My.Resources.i)
 
       picarry.Add(My.Resources.j)

 
       loadIlmages()
 
       TextBox1.Text "" 

الملف المفتوح للتعديل

.rar   alraze game.rar (الحجم : 504.82 ك ب / التحميلات : 62)

mp= http://vb4arb.com/
تحياتي و بالتوفيق
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد }}}


الردود في هذا الموضوع
ملف مفتوح ..تصميم لعبة ذكاء خاصة بالارقام - بواسطة عبد الهادي بهاب - 14-08-20, 07:09 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في تصميم تقرير سيد أحمد 0 244 07-04-25, 09:59 PM
آخر رد: سيد أحمد
  [VB.NET] اعادة رفع نظام إدارة المدارس مفتوح المصدر الكاتب 46 43,577 08-02-25, 07:13 PM
آخر رد: الورد2
  [مشروع] تصميم احترافي لبرنامج شئون الموظفين باستخدام ديف اكسبريس + تحميل السورس كود mazentq 7 7,711 14-10-24, 05:21 PM
آخر رد: بوحمد
Big Grin [مشروع] تصميم محرر اكواد بسيط من خلال الفيجوال بيسك مع السورس كود ahmadpal 1 2,859 23-01-24, 05:38 PM
آخر رد: alkndy
Wink [مشروع] مشروع تصميم فورم بشكل جديد بالفيجوال ستوديو مع السورس كود ahmadpal 8 8,031 12-04-23, 11:41 PM
آخر رد: spiky
Video [مشروع] لعبة إختبر معلوماتك [أسئلة عشوائية]+[قاعدة بيانات xml] + [تأثيرات صوتية] عبدالله الدوسري 12 18,967 30-10-22, 05:52 PM
آخر رد: ibra9009
  [مشروع] تصميم برنامح تعليمي للاطفال ...رتب كلمات الجملة ( سحب الكلمة ) عبد الهادي بهاب 2 2,280 17-09-22, 12:11 PM
آخر رد: اسلام عمر القاضي
  لعبة الارقام ولكن بطرقة مختلفة Mtaktak 2 1,335 11-05-22, 01:29 PM
آخر رد: dasktop
Star برنامج تصوير الشاشة مفتوح المصدر Kian Tech 9 8,657 05-01-22, 05:40 PM
آخر رد: مصطفى الوكيل
  [مشروع] تغيير نصوص الازرار ايضا مناسبة لعمل لعبة ارقام او حتى حروف او اسئلة عمومية سعود 2 2,396 28-11-21, 05:11 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: