(26-11-21, 11:12 AM)anasghost كتب : تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة
اخوي هذا الكود يقوم بتوليد قيمة عشوائية للازرار في برنامجك وهو بنفس الطريقة التي اخبرتك بها
وقد قمت بتحميل مشروعك وعدلت (اضفت ) كود القيمة العشوائية
وسارفق لك مشروعك بعد التعديل وايضا ساضع الكود هنا مع التعليق والشرح
كود :
Sub randomizeIt()
'اولا نعلن عن مصفوفة نحفظ فيها الارقام الازرار
Dim myArray As New ArrayList
'نضيف عنصر الى المصفوفة له قيمة فارغة
myArray.Add("")
'نملأ بقية عناصر المصفوفة بارقام الازرار
For a As Integer = 1 To 8
myArray.Add(a)
Next
'متغير نستخدمه ليكون انديكس (الفهرس) لعنصر المصفوفة الذي تم اختياره عشوائيا
Dim value As Integer
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
'نعطي الزر الاول قيمة عنصر المصفوفة الذي تم اختياره عشوائيا
btn1.Text = myArray(value - 1)
'نحذف عنصر المصوفة
myArray.Remove(myArray(value - 1))
'نعيد تحجيم المصفوفة
myArray.TrimToSize()
' يتم تكرار نفس الخطوات
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn2.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn3.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn4.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn5.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn6.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn7.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn8.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
Randomize()
value = CInt(Int((myArray.Count * Rnd()) + 1))
btn9.Text = myArray(value - 1)
myArray.Remove(myArray(value - 1))
myArray.TrimToSize()
End Sub
وهذا مشروعك المعدل
ANAS_Quiz_03.zip (الحجم : 248.89 ك ب / التحميلات : 11)
بالتوفيق