14-08-20, 07:09 PM
(آخر تعديل لهذه المشاركة : 16-08-20, 09:06 PM {2} بواسطة عبد الهادي بهاب.)
السلام عليكم
تنتشر كثيرا نوع من الالعاز الرياضية التي تعتمد على حل معادلة بسيطة
كهذه مثلا :
في البرمجة نريد ان نصمم هذه الالغاز ؟
مثل هذا
كيف ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
محاولة :
نحتاج الى مجموعة صور نجعلها في ملف 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}
----------
وهكذا بقية الصور كلها من ثلاثة صور فقط
في البدياة نعلن عن اسماء هذه المصفوفات
يعني لدينا مصفوفة 9 مصفوفات و نضع فيها الصور حسب الترتيب اعلاه
اللقطة كل اللقطة في المصفوفة و في وضعها بشكل مناسب في العمل
----------- يتبع
الان سنحفظ مصفوفة من نوع arraylist لحفظ الصور التي وضعهناها في ملف resources
انا وضعت 9 صور
الان سنعلن عن المصفوفة
و فيها نضع الصور
الان سنبدا في الكود الصح
ننشيء دالة و لنسميها
اولا نبدا بغيير الصور للسطر الاول اي 9 صور الاولى وهي المصفوفة 1
نختار رقما عشوائيا من 0 الى حد مصفوفة صور السورس
و نغير الصور و نخفيها ايضا
كما ذكرنا سابقا نفس الصورة تكون للمربعات البرتقالية لذلك راجع المصوفوات التي تقابل هذه المربعات و لنضع فيها نفس الصورة السابقة
ثم نحذغ الصورة هذه من المصفوفة حتى لا تتكرر معنا
نعلن عن متغير جديد عشوائي و سيكون من 0 الى حد مصوفوة السورس الذي نقص منه 1
و تغير صورة السطر الثاني و الثالث و الرابع حسب المربعات الزرقاء
الان يبقى لنا مجموعتين المربع الاخضر
و هكذا نكون قد قمنا يتغغير الصور حسب المربعات و اخفيناها تمام
الان مع كود اللاظهار و حساب المعاملات
يعني سنظهر عدد معينا من الصور مثلا في السطر الاول من 3 الى 9
ثم سنعلن عن متغير ما يحمل رقما عشوائيا مثلا من 2 الى 10 وهو قيمة الصورة
اي كي تفهم
اظهرنا 5 صور ... نعلن عن متغير قيمته 2 .......اذان الناتج هو 5 ء 2 = 10
اي تظهر 5 صور قلم مثلا و الناتج في اليبال سيكتب 10 .............. يعرف المستخدم ان قيمة القلم هو 2
فهمت ام لا ؟؟؟؟؟؟؟؟؟؟؟؟؟
اذن بالنسبة للسطر الاول سنخار رقما عشوائيا من 3 الى 8 اي من الصورة 4 الى 9
و نظهر عدد الصور هذه ثم نختار رما ما هو المعامل و نحسب النتيجة
نفس العملية مع السطر الثاني و الثالث ز الرابع
الان سنحسب الناتح ة نحفظع في قيمة متغير resultat
الان ناتي الى مربع النص سنشترط فيه ادخال الاارقام فقط كيف ؟
نعلن مع مصوفوة ارقام من 0 الى 9
الان نذهب الى مربع النص في الحدث TextBox1_KeyPress
لا نقبل الى ما ينتمي الى هذه المصفوفة اي ما كان رقما دون مسافات
نواصل :
الان نضع زر للتصحيح و نقارن فيه بين قيمة مربع النص رقما و بين resultat التي حسبناها سابقا و نظهر له مربع نص
شرط ان لا يكون فارغا و الا ظهرت له رسالة تنبيه
الان نضع زر جديد هو للاعادة و نحفظ فيه من جديد صور السورس في مصوفوة بعد تفريغها
و نشغل دالة التوليد
الملف المفتوح للتعديل
alraze game.rar (الحجم : 504.82 ك ب / التحميلات : 44)
mp= http://vb4arb.com/
تحياتي و بالتوفيق
تنتشر كثيرا نوع من الالعاز الرياضية التي تعتمد على حل معادلة بسيطة
كهذه مثلا :
في البرمجة نريد ان نصمم هذه الالغاز ؟
مثل هذا
كيف ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
محاولة :
نحتاج الى مجموعة صور نجعلها في ملف 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 PictureBox, PictureBo, PictureB, PictureBw, Picturex, Picturexd, Picturexc, APic, APicx As PictureBox()
يعني لدينا مصفوفة 9 مصفوفات و نضع فيها الصور حسب الترتيب اعلاه
PHP كود :
PictureBox = {PictureBox1, PictureBox2, PictureBox3, PictureBox4, PictureBox5,
PictureBox6, PictureBox7, PictureBox8, PictureBox9}
Picturex = {Picturex1, Picturex2, Picturex3, Picturex4, Picturex5, Picturex6}
PictureBo = {PictureBo1, PictureBo2, PictureBo3}
PictureB = {PictureB1, PictureB2, PictureB3}
PictureBw = {PictureBw1, PictureBw2, PictureBw3}
Picturexd = {Picturexd1, Picturexd2, Picturexd3}
Picturexc = {Picturexc1, Picturexc2, Picturexc3}
APic = {APic1, APic2, APic3}
APicx = {APicx1, APicx2, APicx3}
اللقطة كل اللقطة في المصفوفة و في وضعها بشكل مناسب في العمل
----------- يتبع
الان سنحفظ مصفوفة من نوع 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(0, picarry.Count)
For i = 0 To 8
PictureBox(i).Image = picarry(ali)
PictureBox(i).Visible = False
Next
كما ذكرنا سابقا نفس الصورة تكون للمربعات البرتقالية لذلك راجع المصوفوات التي تقابل هذه المربعات و لنضع فيها نفس الصورة السابقة
ثم نحذغ الصورة هذه من المصفوفة حتى لا تتكرر معنا
PHP كود :
For i = 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(0, picarry.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(0, picarry.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(1, 4)
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(1, 4)
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(1, 4)
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(1, 4)
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 = ""
الملف المفتوح للتعديل
alraze game.rar (الحجم : 504.82 ك ب / التحميلات : 44)
mp= http://vb4arb.com/
تحياتي و بالتوفيق
لعل الكلمة التي تنفعني لم أكتبها بعد
عبد الله بن المبارك