تقييم الموضوع :
  • 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 ك ب / التحميلات : 15)

mp= http://vb4arb.com/
تحياتي و بالتوفيق
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد
#2
كل الشكر و التقدير و الإحترام أستاذنا الفاضل عبد الهادي بهاب على ما تقدّمه من مجهودات و هدايا قيّمة
باسم الله ما شاء الله تبارك الله
للتنويه إخواني الأعزّاء .. عبد الهادي بهاب .. قمّة شاهقة من قمم الهملايا .. و بالإمكان القول هرم من أهرامات الجيزة .. بمجال البرمجة عبر الأوتوبلاي .. و الآن هو معنا بمجال الفيدوال بيسك دوت نت ..
تحياتي و احتراماتي
الرد
#3
وعليك السلام ورحمة الله وبركاته


الله الله عليك اخوي عبد الهادي

اسمحلي اقول لك
  "جبتها ع الجرح وكنك مادريت"

موضوعك هذا اطربني جدا لسببين 
الاول اني تعلمت البرمجه واحد اهدافي كان تصميم برامج لحل الالغاز 
والسبب هو كتيب قديم قرأته يشرح المبرمج فيه كيفية جعل البرنامج يحل لغز "الثلاث جرات" وهو اللغز الذي فيه جرة تتسع لـ 10 لتر عسل ممتلئة 
والثانية جرة تتسع لـ 7 لتر فارغة 
والثالثة جرة فارغة تتسع لـ5 لتر

 والمطلوب تقسيم العسل الذي مقداره 10 لتر الى 5 لتر / 5 لتر 

ومن ذاك اليوم الى الان وانا اتشوق الى اليوم الذي ساكتب فيه برنامج يقوم فعلا بحل احد الالغاز

والسبب الثاني ان  99 % من مشاركات واسئلة الاعضاء تدور حول برمجة  قواعد البيانات
 وانا بصراحة كنت اتشوق 
ان ارى في المنتدى مواضيع ودروس واسئلة متنوعه بالمحتوى والافكار


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

لك مني التقييم وخالص الدعاء بالتوفيق والمزيد من التقدم

كما ارجو منك ان تتقبل مني هدية عبارة عن كتاب  الف لعبة تفكير بالاضافة الى CD برمجيات المحيط وهو مجموعة برامج لتعليم البرمجة
باستخدام اسلوب الالغاز والتراكيب برمجيات المحيط
وفي انتظار القادم منك.

الرد
#4
(14-08-20, 10:16 PM)عبد العزيز البسكري كتب :
..
تحياتي و احتراماتي

هنا كلام ........... لم اتعرف عليك استاذ من قبل و خصوصا جزئية بشار .....الخ

المهم احببت ان اتعرف على البرمجة في  vb و قد تعرفت على مزايا  غير متاحة في الاوتوبلاي تماما
و خصوصا في  الغرافيك و الخطوط و البحث هو اسرع و اشمل
و لكل برنامج خصائصه 

ما احاول الان  برمجة ما  برمجته سابقا بالاوتوبلاي  الان بالفيسوال بازيك كبداية 

احاول تعلم لغة جديدة 

تحياتي استاذ عزيز

(15-08-20, 12:48 AM)معاند الحظ كتب :
وعليك السلام ورحمة الله وبركاته


الله الله عليك اخوي عبد الهادي

اسمحلي اقول لك
  "جبتها ع الجرح وكنك مادريت"

و الله سعدت جدا بملاحظاتك

فعلا انا كمتبتدئ في البرمجة vb 
احببت ان اتجنب القواعد و الاكسس
فقط استعمل ما تعلمته من هنا و هناك 
ثانيا استعمل بعض المهارات البرمجية او بالاحرى التفكير البرمجي  من خلال الاوتبلاي
لا ستخدامه في الفيسوال بازيك

كما انني اهوى البرامج التعليمية و الرياضية 

ساطالع الكتيب و المجموعة و ساحاول ان انتج ما امكنني

تحياتي لك استاذ

تم اضافة الملف السورس في المشاركة الاولى

تم اضافة الملف السورس في المشاركة الاولى
 لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] تصميم برنامج ميثاق فلسطين عبد الهادي بهاب 0 81 17-09-20, 01:40 AM
آخر رد: عبد الهادي بهاب
  ادوات + برنامج مفتوح المصدر للتحميل من اليوتيوب معاند الحظ 0 92 15-09-20, 09:23 PM
آخر رد: معاند الحظ
Wink [مشروع] مشروع تصميم فورم بشكل جديد بالفيجوال ستوديو مع السورس كود ahmadpal 5 1,017 15-09-20, 04:56 PM
آخر رد: Ali 2020
  [مشروع] تصميم برنامج تعليمي للاطفال ... الحساب الذهني Calcul Mental عبد الهادي بهاب 0 59 12-09-20, 09:12 PM
آخر رد: عبد الهادي بهاب
  [مشروع] تصميم برنامج تعليمي مراجعة تفاعلية لعلمية الجمع عبد الهادي بهاب 4 174 11-09-20, 01:01 AM
آخر رد: عبد الهادي بهاب
  [مشروع] تصميم برنامج تعليمي للاطفال ..المقارنة بين الاطوال عبد الهادي بهاب 1 138 10-09-20, 05:03 PM
آخر رد: عبد الهادي بهاب
  [مشروع] تصميم برنامح تعليمي للاطفال ...رتب كلمات الجملة ( سحب الكلمة ) عبد الهادي بهاب 0 102 07-09-20, 12:52 AM
آخر رد: عبد الهادي بهاب
  [مشروع] تصميم لعبة السلم و الافعى عبد الهادي بهاب 0 92 05-09-20, 07:04 PM
آخر رد: عبد الهادي بهاب
  تصميم برنامج صانع الشهادات التقديرية عبد الهادي بهاب 0 98 05-09-20, 06:17 PM
آخر رد: عبد الهادي بهاب
  [مشروع] تصميم لعبة المربعات squaresgame عبد الهادي بهاب 0 94 04-09-20, 02:13 PM
آخر رد: عبد الهادي بهاب

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم