RE: محتاج فكرة لعمل كود او دالة Random - anasghost - 26-11-21
(26-11-21, 10:06 AM)معاند الحظ كتب : اخوي اذا فهمت طلبك صح فالحل هو
اذا كنت تريد تغيير قيمة الـtext للازرار عشوائيا بدون تكرار اي قيمة سبق ان اعطيت لـtext احد الازرار
فيمكنك استخدام مصفوفة تحتوي الارقام التي تريد اعطائها لقيمة text للازرار
ثم تعمل حلقة تكرار for loop لكل زر تريد تغيير قيمته ابتداء من الاول في الحلقة
تعطيه القيمة (الرقم ) المخزن في المصفوفة ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة
وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
وهكذا تفعل مع كل زر تريد تغيير قيمته
بصراحة واجهتني المشكلة هذي عندما كنت ابرمج لعبة MineSweeper كانسة الالغام حيث انها تقتضي وضع
عدد معين من الالغام لمجموعة مربعات field يتم اختيارها عشوائيا بحيث يجب ان لايحتوي اي مربع
على اكثر من لغم واحد
والموضوع موجود هنا في المنتدى
وهنا تقدر تحمل مشروع اللعبة MineSweeper - كانسة الالغام
ملاحظة : قد لايكو ن الحل مثالي لاني توقفت عن العمل على المشروع من كم سنة
لكن يمكنك تحسينه دائما اذا اردت
تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة
RE: محتاج فكرة لعمل كود او دالة Random - سعود - 26-11-21
إقتباس :ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة
وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
تذكرت اني لجات لها من قبل
لكن نسيت
توليد نص عشوائي ثم حذفه تلافيا للتكرار
(26-11-21, 11:12 AM)anasghost كتب : تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة
باذن الله احاول في تطبيق الفكرة.
RE: محتاج فكرة لعمل كود او دالة Random - anasghost - 26-11-21
(26-11-21, 02:09 PM)سعود كتب : إقتباس :ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة
وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
تذكرت اني لجات لها من قبل
لكن نسيت
توليد نص عشوائي ثم حذفه تلافيا للتكرار
(26-11-21, 11:12 AM)anasghost كتب : تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة
باذن الله احاول في تطبيق الفكرة.
ربي يجزيك بالخير انا في انتظارك خذ الملف المرفق وعدل عليه لو سمحت
RE: محتاج فكرة لعمل كود او دالة Random - سعود - 26-11-21
كلمة مرور فك الضغط:vb4arb
المثال مرفق والتغيير فقط للنص الظاهر على الزر فقط
RE: محتاج فكرة لعمل كود او دالة Random - anasghost - 27-11-21
(26-11-21, 04:01 PM)سعود كتب : كلمة مرور فك الضغط:vb4arb
المثال مرفق والتغيير فقط للنص الظاهر على الزر فقط
جزاك الله خير بارك الله فيك اقدر لك تعبك واسال الله ان يجعلها في ميزان حسناتك
RE: محتاج فكرة لعمل كود او دالة Random - سعود - 27-11-21
(27-11-21, 06:30 PM)anasghost كتب : (26-11-21, 04:01 PM)سعود كتب : كلمة مرور فك الضغط:vb4arb
المثال مرفق والتغيير فقط للنص الظاهر على الزر فقط
جزاك الله خير بارك الله فيك اقدر لك تعبك واسال الله ان يجعلها في ميزان حسناتك 
واياك وكل قاريء لهذا الكلام.
RE: محتاج فكرة لعمل كود او دالة Random - معاند الحظ - 28-11-21
(26-11-21, 02:09 PM)سعود كتب : إقتباس :ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة
وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
تذكرت اني لجات لها من قبل
لكن نسيت
توليد نص عشوائي ثم حذفه تلافيا للتكرار
(26-11-21, 11:12 AM)anasghost كتب : تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة
باذن الله احاول في تطبيق الفكرة.
تمام عليك اخوي سعود
RE: محتاج فكرة لعمل كود او دالة Random - معاند الحظ - 29-11-21
(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
وهذا مشروعك المعدل
[attachment=27355]
بالتوفيق
|