تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] محتاج فكرة لعمل كود او دالة Random
#11
(26-11-21, 10:06 AM)معاند الحظ كتب : اخوي اذا فهمت طلبك صح فالحل هو
اذا كنت تريد تغيير قيمة الـtext للازرار عشوائيا بدون تكرار اي قيمة سبق ان اعطيت لـtext احد الازرار
 فيمكنك استخدام مصفوفة تحتوي الارقام التي تريد اعطائها لقيمة text للازرار 
ثم تعمل حلقة تكرار for loop لكل زر تريد تغيير قيمته ابتداء من الاول في الحلقة
تعطيه القيمة (الرقم ) المخزن في المصفوفة ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة
وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
وهكذا تفعل مع كل زر تريد تغيير قيمته

بصراحة واجهتني المشكلة هذي عندما كنت ابرمج لعبة MineSweeper  كانسة الالغام حيث انها تقتضي وضع
عدد معين من الالغام  لمجموعة مربعات field يتم اختيارها عشوائيا بحيث يجب ان لايحتوي اي مربع
على اكثر من لغم واحد

والموضوع موجود هنا في المنتدى 

وهنا تقدر تحمل مشروع اللعبة MineSweeper - كانسة الالغام

ملاحظة : قد لايكو ن الحل مثالي لاني توقفت عن العمل على المشروع من كم سنة
لكن يمكنك تحسينه دائما اذا اردت

تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة
الرد }}}
تم الشكر بواسطة: سعود , سعود , ابراهيم ايبو , معاند الحظ
#12
إقتباس :ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة

وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
تذكرت اني لجات لها من قبلSmile
لكن نسيتSad
توليد نص عشوائي ثم حذفه تلافيا للتكرار

(26-11-21, 11:12 AM)anasghost كتب : تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة

باذن الله احاول في تطبيق الفكرة.
الرد }}}
#13
(26-11-21, 02:09 PM)سعود كتب :
إقتباس :ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة

وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
تذكرت اني لجات لها من قبلSmile
لكن نسيتSad
توليد نص عشوائي ثم حذفه تلافيا للتكرار

(26-11-21, 11:12 AM)anasghost كتب : تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة

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


الملفات المرفقة
.rar   ANAS_Quiz_03.rar (الحجم : 190.67 ك ب / التحميلات : 4)
الرد }}}
#14
كلمة مرور فك الضغط:vb4arb
المثال مرفق والتغيير فقط للنص الظاهر على الزر فقط 


الملفات المرفقة
.zip   Number_Gamer.zip (الحجم : 20.97 ك ب / التحميلات : 8)
الرد }}}
#15
Heart 
(26-11-21, 04:01 PM)سعود كتب :
كلمة مرور فك الضغط:vb4arb
المثال مرفق والتغيير فقط للنص الظاهر على الزر فقط 

جزاك الله خير بارك الله فيك اقدر لك تعبك واسال الله ان يجعلها في ميزان حسناتك Heart
الرد }}}
تم الشكر بواسطة: سعود , معاند الحظ
#16
(27-11-21, 06:30 PM)anasghost كتب :
(26-11-21, 04:01 PM)سعود كتب :
كلمة مرور فك الضغط:vb4arb
المثال مرفق والتغيير فقط للنص الظاهر على الزر فقط 

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

واياك وكل قاريء لهذا الكلام.
الرد }}}
تم الشكر بواسطة: anasghost , anasghost , معاند الحظ
#17
(26-11-21, 02:09 PM)سعود كتب :
إقتباس :ثم تحذف عنصر المصفوفة الذي اخذت منه القيمة

وهكذا تضمن انه لن يتم تكرار قيمة text احدالازار في زر اخر
تذكرت اني لجات لها من قبلSmile
لكن نسيتSad
توليد نص عشوائي ثم حذفه تلافيا للتكرار

(26-11-21, 11:12 AM)anasghost كتب : تمام جزاك الله قد اطلعت على اللعبة الخاصة بك وهي رائعة لكن المصفوفة لا استطيع استخدامها لانها في كل مرة تعطي بفس القيمة للbtn لا يوجد عشوائية المختصر اني اريد عشوائية بالتوزيع ويكون كل btn ياخذ رقم واحد وبدون ان يتكرر الرقم في btn ثانية وعليه تكون احدى btn ال 9 فارغة

باذن الله احاول في تطبيق الفكرة.

تمام عليك اخوي سعود Smile

الرد }}}
تم الشكر بواسطة: سعود , سعود
#18
(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

وهذا مشروعك المعدل


.zip   ANAS_Quiz_03.zip (الحجم : 248.89 ك ب / التحميلات : 4)

بالتوفيق

الرد }}}
تم الشكر بواسطة: سعود , سعود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  محتاج طريقة لتنسيق نص الرسالة المرسلة إلى الواتس اب new_programer 2 163 04-03-24, 07:15 AM
آخر رد: new_programer
  فكرة تسجيل الحضور اليومي عبد العزيز البسكري 29 652 26-02-24, 02:15 PM
آخر رد: saud1004
  محتاج تشفير فيديو وتشغلية عن طريق البرنامج فقط new_programer 1 112 22-02-24, 12:09 PM
آخر رد: AHMED213
  [VB.NET] محتاج كود حساب الفرق بين تاريخين بالايام moustafakamel95 3 449 29-01-24, 04:05 PM
آخر رد: مصطفى مصطفى
  كيفية رسم بيان دالة رياضية؟ الخير19 6 415 23-12-23, 03:36 PM
آخر رد: الخير19
  [سؤال] كيف نستعيد قيمة من دالة ضمن مسار مستقل justforit 2 393 21-11-23, 10:51 AM
آخر رد: justforit
  [VB.NET] محتاج مساعدة تعديل على كود ZEEN4ZEEN 4 416 08-10-23, 09:11 PM
آخر رد: ZEEN4ZEEN
  [كود] كود لعمل نسخة احتياطية من Sql Server DB موجودة على شبكة داخلية dr.programming 0 258 28-09-23, 05:29 PM
آخر رد: dr.programming
  عرض تقرير كريستال ريبورت من خلال دالة atefkhalf2004 0 283 23-09-23, 10:07 AM
آخر رد: atefkhalf2004
Thumbs Up توضيح لعمل السيريال الخاص بالمنتجات devpos 1 223 10-09-23, 05:49 PM
آخر رد: Asem2

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


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