الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

منع عدم تكرار الرقم العشوائي

مغلق
بدأه AliRahmah في 2 أبريل 2005 · 43 رد · 5,730 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الســــلام عليكم

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

فأنا بأمس الحاجة إلى الجواب _ لأكمال مشروع التخرج _

:(

السؤال يبدأ بفكرة لعبة من الالعاب

_ دولاب من الارقام يتم فرزه وعند الضغط على زر ايقاف يتوقف الدولاب عن فرز الارقام و يظهر السؤال عند الغغط على زر السؤال كما في الصورة _1a23.jpg

لقد تم معرفة كيف نستطيع اظهار الارقام وايقافها ووو

كما في الكود

 عند الضغط على الزر ابدأ الفرز مكن التايمر ..
Private Sub Button1Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PFGame2_1.Click

TGame1.Enabled = True
End Sub
' في حدث التايمر افرز ارقام عشوائية من الواحد للعشرين 
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
LGame10.Text = CStr(Int(Rnd() * 20))
If PFGame2_2.Enabled Then
LGame10.Text = CStr(Int(Rnd() * 20))

End If


On Error Resume Next
start:
System.Windows.Forms.Application.DoEvents()
n = Int(Rnd(20) * 20)
FileClose(1)
FileOpen(1, "test", OpenMode.Input)
While EOF(1) = False
Input(1, noa)
Count1 = Count1 + 1

End While
FileClose(1)
Count1 = 0
FileOpen(1, "test", OpenMode.Input)
While EOF(1) = False
Input(1, no)
If n = no Then
GoTo start
End If
End While
End Sub

' عند الضغط على ايقاف عطل التايمر مع الابقاء على الرقم العشوائي الظاهر 
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TGame1.Enabled = False
End Sub

'عرض السؤال عند الضغط على زر أعرض السؤال 
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PFGame2_3.Click
FileClose(1)
FileOpen(1, "test", OpenMode.Append)
WriteLine(1, n)
FileClose(1)
Select Case n
Case 1 : LGame9.Text = "إذا كانت قيمة 0.4 من عدد يساوي 0.2 فإن 6 أضعاف هذا العدد تساوي ..؟! "
Select Case n
Case 1 : RGame5.Text = "0.5 "


Case 2 : RGame5.Text = "3 "
Case 3 : RGame5.Text = "4 "
Case 4 : RGame5.Text = "5 "

End Select

Case 2 : LGame9.Text = "aaaa "
Case 3 : LGame9.Text = " rrrr"
Case 4 : LGame9.Text = "yyyy"
Case 5 : LGame9.Text = "aaaa"
Case 6 : LGame9.Text = "aaaaaaa!"
Case 7 : LGame9.Text = "tttt"
Case 8 : LGame9.Text = "إrrrrrrr :"
Case 9 : LGame9.Text = ""
Case 10 : LGame9.Text = "!"
Case 11 : LGame9.Text = ""
Case 12 : LGame9.Text = ""
Case 13 : LGame9.Text = " ؟ 
Case 14 : LGame9.Text = " "
Case 15 : LGame9.Text = ""
Case 16 : LGame9.Text = ""
Case 17 : LGame9.Text = "ا"
Case 18 : LGame9.Text = " "
Case 19 : LGame9.Text = "!"
Case 20 : LGame9.Text = ""

End Select
End Sub
'أغلاق الملف عند اغلاق البرنامج 
Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PEixtyas.Click
End
On Error Resume Next
Kill("test")

End Sub

ولكن كيف نستطيع نمنع عدم تكرار الرقم العشوائي

؟!!

وأيضاً عند نهاية البرنامج لابد من ظهور رسالة تعرض عدد الاجوبة الصحيحة والخاطئة علماً بأن الاسئلة 20 وهناك ليبل يظهر فيه عدد الاسئلة كذا من كذا مثلاُ 3 من 20

عذراً وشكراً جزيلاً لكم

ونرجو الاجابة بأسرع فرصة ...

نتمنى التوفيق للجميع

:)

#2

ياه , ما هذا الذي أراه !! :unsure:

ما هذا الكود الصعب الطويل الكبير المعقد !! :unsure:

بالتأكيد هذا ليس كود سي شارب لاننا تعودنا عليها ببساطة ونعومة ورقة كودها !!

عرفت , انه كود فيجوال بيسك , اذا ... أقتلوا هذا الرجل !! :lol:

يا AliRahmah , سلامة عيونك , هذا قسم السي شارب !!

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

من فضلك اذكر تفاصيل اكثر عن فكرة عمل البرنامج لاني لا اعرف معنى دولاب الارقام

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#4

ســـلام

_معتز شمس_

اعتذر فلم انتبه لمكانه الا بعد ان وضعته واني متأكدة اني حطيته بمنتدى فيجوال بيسك.نت

بس

!!

عذراً اتمنى نقله للممكان المناسب

___________

bashmohandes

الاخ العزيز

سأذكر التفاصيل

من جديد

دولاب الارقام يعني فرز الارقام بطريقة عشوائية في ليبل او في مربع صورة المهم فرز الارقام بطريقة عشوائية بحيث انه لو ضغط على الزر ابدأ الفرز يبدأ التايمر بفرز الرقم العشوائي

Lebel1.Text = CStr(Int(Rnd() * 20))

وعند الغضط على ايقاف يبقي على الرقم من دالة الران

وعند الغضط على السؤال يعرض سؤال هذا الرقم ...

وعذراً على الخطأ

ارجو نقله الى المكان المناسب ..

تحياتي

وان شاء الله ارى الاجابة على سؤالي ..

#5

:o ليش مارديتوا

#7

ممكن توضح لي يا اخي كيف استخدمه

ولأني اول مرة اسمع بيه

شكراً جزيلاً :)

#8

بسم الله الرحمن الرحيم

 Randomize()
 txtdisplay.Text = (Rnd() * 1)

او بضرب الدالة في أي رقم اذا اردنا الارقام في مدي معين و ان شاء الله لن يتكرر الرقم هذا السؤال سأل عنه 100 شخص و أجبته 100 مرة، أرجوا البحث عن الاجابات أولا يا شباب :D

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#9

السلام عليكم

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

ثم الرقم الثاني نقوم بالمقارنة بين الرقم والقيم في المصفوفة وعلى إثر ذلك نحدد القبول أو المنع شاهد هذا المثال

المتغيرات الأساسية و المصفوفات بهذا الشكل بنيتهم

'Variables Declartion
    Dim Rnd As New System.Random
    Dim RadNum, Counter As Integer
    Dim CorrectAnswer As String
    Dim FlagLoop As Boolean = False
       Dim question0() As String = {"What's the benfit of typeof() function ?", "convert string", "represent kind of data", "convert float", 2}
    Dim question1() As String = {"what does trace() method do ?", "string converter", "output display's text", "sorting Array", 2}
    Dim question2() As String = {"What 2 loops statement called ?", "Nested loop", "Array loop", "normal Loop", 1}
    Dim question3() As String = {"If we concatenate 13 to 31  ?", "44", "3311", "1331", 3}
    Dim question4() As String = {"What does  #include do ?", "loading data", "loading MC", "loading script", 3}
    Dim Questions()() As String = {question0, question1, question2, question3, question4}

سنقوم بتعريف مصفوفة تحمل قيم منطقية Boolean Values

 Dim ControlRandomNumber(4) As Boolean

فنقوم بتعبئتها بالقيمة false في البداية بهذا الشكل

 For i As Integer = 0 To ControlRandomNumber.GetUpperBound(0)
                ControlRandomNumber(i) = False
            Next

ثم بعد إنشاء الرقم العشوائي ننظر هل هذا الرقم تم تخزينه في المصفوفة أم لا بهذا الشكل

RadNum = Rnd.Next(0, 5)

        While FlagLoop = False
            If ControlRandomNumber(RadNum) = False Then
                ControlRandomNumber(RadNum) = True
                Exit While
            Else
                RadNum = Rnd.Next(0, 5)
            End If
        End While

هنا بعض المتغيرات لم أذكرها لكنها واضحه المضمون و المعنى بحيث في البداية نقوم بالحلقة while

مادام المتغير المنطقي يساوي false وهو كذلك إلى الأبد ثم في الشرط هل عنصر المصفوفة ControlRandomNumber

الذي يساوي الـ Index الرقم العشوائي هل يحمل القيمة false إذا كان كذلك سنضع فيه القيمة True

ثم نخرج من الحلقة أما إذا كان يساوي من الأصل True فهذا يعني أن هذا السؤال قد تم عرضه على المستخدم من قبل

في هذه الحالة سنضطر إلى إستبدال الرقم العشوائي برقم عشوائي أخر RadNum = Rnd.Next(0, 5)

حتى يخرج لنا رقم عشوائي جديد

ولكن قبل هذا الأختبار , لابد أن نختبر هل تم عرض الأسئلة كلها أم لا بهذا الشكل

 If Counter = 5 Then
            lblResult.Visible = True
            lblResult.Text = "Your Score is : " & CorrectAnswer & " From " & _
            Questions.Length.ToString
            ButtonsStatus(False)
            btnTryAgain.Visible = True
            Exit Sub
        End If

والله أعلم شاهد الملف المرفق فيه خمسة أسئلة بشكل عشوائي وغير متكرر إن شاء الله .

السلام عليكم

UniqueRandomNumber.zip

في المثال يتضح المقال

#10

السلام عليكم ورحمة الله وبركاتة

والكلام بمتمه لاستاذي الغملاسي

انا اقترح اضافة ListBox الى الفورم وجعل خاصية الـ Visible ....تساوي False لكي لا يراها المستخدم ثم نكتب الكود التالي في زر الامر الذي ينتج الارقام العشوائية

Dim x, z As Byte
        Randomize()
        ListBox1.Items.Clear()
        For x = 1 To 52
            z = Rnd() * 51
            If ListBox1.Items.Contains(z) = False Then
                ListBox1.Items.Add(z)
            Else
                x = x - 1
            End If
        Next

وهكذا سينتج عندك 52 رقم تبدأ من الصفر الى 51 غير مكرره وكلها مضافة الى الـ ListBox بصورة عشوائية

ولكي تعرف ما الرقم الذي يوجد في اول القائمة فاكتب الكود التالي

ListBox1.Items.Item(0)

ولمعرفة اي رقم اخر فما عليك الا تغيير الرقم الموجود بين القوسين والذي يمثل الترتيب (index) داخل القائمة

واذا كنت تريد معرفة ترتيب رقم من الارقام المنتجة عشوائيا داخل القائمة فاكتب التالي

ListBox1.Items.IndexOf(5)

فمثلا يعطيك نتيجة رقم 9 مما يعني ان ترتيبه العاشر .. بحكم ان اول القائمة قيمة ترتيبة صفر

اتمنى اني افدتك

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#11

يا جماعة طب ما randomize والله حتعمل المطلوب و زيادة شويتين و لا هو الكود الكبير هوا الكويس لا بالعكس جربوا randomize و اكشفوا عنها في ال msdn و ان شاء الله خير :)

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#12

السلام عليكم حياالله الجميع

أخي romantic_boy ممكن من فضلك تكتب لنا رقم الـ Article أو عنوانها التي تتكلم عن الـ Randomize

بالوصف الذي وصفتهُ أنت .

يعني هل تقصد أن هنالك مثلاً Class يعمل Unique Randomiztion ؟ إذ نعم فماهو ؟

على حسب درايتي أن هنالك فقط إثنان في الـ VB.NET أما الوظيفة Rnd Function وتكون بهذا الشكل

Dim MyValue As Integer
Randomize   ' Initialize random-number generator.
MyValue = CInt(Int((6 * Rnd()) + 1)) ' Generate random value between 1 and 6.

و هذا من الـ MSDN

أو من الـ System.Random وهو Class ويكون بهذا الشكل

Dim Rnd As New System.Random
   Dim RadNum, Counter As Integer
RadNum = Rnd.Next(0, 5)

في المثال يتضح المقال

#13

السلام عليكم

وييييه ياربي :o

كيف كذا :wacko: ذوختوني عدل عدل :blink:

اني بوريكم الكود اليي كتبته بالبرنامج

وانتوا صححوه ليي اما كذا

بل بموت

يمكن شهر لين افهمها :( :( :( :(

--------

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'تعريف متغير للمسار 
        Dim path As String = Directory.GetCurrentDirectory
        'اظهار فلاشية اللعبة الثانية
        FlGame2_1.Movie = path & "/Game2.swf"

        On Error Resume Next
        Kill("test")
        FileOpen(1, "test", OpenMode.Output)
        FileClose(1)



        'أخفاء رسالة الخروج
        PEixt1.Visible = False
        PEixtyas.Visible = False
        PEixtno.Visible = False

        'رسالة الجواب الخطأ
        mistake.Visible = False
        'رسالة الجواب الصحيح
        corrcet.Visible = False

        'أخفاء اللعبة الثانية
        ' الليبلات
        LGame8.Visible = False
        LGame9.Visible = False
        LGame1.Visible = False
        LGame.Visible = False
        LGame10.Visible = False

        'الجروب بوكس
        GGame2.Visible = False
        ' الريديو بتون
        RGame5.Visible = False
        RGame6.Visible = False
        RGame7.Visible = False
        RGame8.Visible = False

        '
        PFGame2_1.Visible = False
        PFGame2_2.Visible = False
        PFGame2_3.Visible = False
        PFGame2_4.Visible = False
        PFGame2_5.Visible = False
        PFGame2_6.Visible = False
    End Sub

    Private Sub BHllow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BHllow.Click
        If THllow.Text <> "" Then

            PHllow.Visible = False
            THllow.Visible = False
            BHllow.Visible = False

            LGame.Text = THllow.Text
        Else
            MsgBox("أدخل اسمك من فضلك")

        End If
        ' الليبلات
        LGame8.Visible = True
        LGame9.Visible = True
        LGame1.Visible = True
        LGame.Visible = True
        LGame10.Visible = True

        'الجروب بوكس
        GGame2.Visible = True
        ' الريديو بتون
        RGame5.Visible = True
        RGame6.Visible = True
        RGame7.Visible = True
        RGame8.Visible = True

        '
        PFGame2_1.Visible = True
        PFGame2_2.Visible = True
        PFGame2_3.Visible = True
        PFGame2_4.Visible = True
        PFGame2_5.Visible = True
        PFGame2_6.Visible = True

    End Sub


    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PFGame2_5.Click
        'الفورم الرئيسي
        Dim Form1 As New Games()
        Me.Hide()
        Form1.Show()
    End Sub

    Private Sub PFGame2_1Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PFGame2_1.Click
        ' عند الضغط على الزر ابدأ الفرز مكن التايمر .. 
        TGame1.Enabled = True
    End Sub

    Private Sub TGame1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TGame1.Tick
        ' في حدث التايمر افرز ارقام عشوائية من الواحد للعشرين 
        LGame10.Text = CStr(Int(Rnd() * 20))
        If PFGame2_2.Enabled Then
            LGame10.Text = CStr(Int(Rnd() * 20))

        End If


        On Error Resume Next
start:
        System.Windows.Forms.Application.DoEvents()
        n = Int(Rnd(20) * 20)
        FileClose(1)
        FileOpen(1, "test", OpenMode.Input)
        While EOF(1) = False
            Input(1, noa)
            Count1 = Count1 + 1

        End While
        FileClose(1)
        Count1 = 0
        FileOpen(1, "test", OpenMode.Input)
        While EOF(1) = False
            Input(1, no)
            If n = no Then
                GoTo start
            End If
        End While
    End Sub

    Private Sub PFGame2_2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PFGame2_2.Click
        ' عند الضغط على ايقاف عطل التايمر مع الابقاء على الرقم العشوائي الظاهر
        TGame1.Enabled = False
    End Sub

    Private Sub PFGame2_3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PFGame2_3.Click
        'عرض الاسئلة ..
        FileClose(1)
        FileOpen(1, "test", OpenMode.Append)
        WriteLine(1, n)
        FileClose(1)
        Select Case n
            Case 1 : LGame9.Text = "إذا كانت قيمة 0.4 من عدد يساوي 0.2 فإن 6 أضعاف هذا العدد تساوي ..؟! "
                RGame5.Text = "0.5 "
                RGame6.Text = "3"
                RGame7.Text = "4 "
                RGame8.Text = "5 "

            Case 2 : LGame9.Text = "إذا كانت 25% من ثمن كتاب يساوي 20 فإن 5% من ثمنه يساوي "
                RGame5.Text = "1 "
                RGame6.Text = "2"
                RGame7.Text = "3 "
                RGame8.Text = "4 "
               
            Case 3 : LGame9.Text = " حصل علي على 75 درجة في مادة الرياضيات في الفصل الدراسي الأول من هذا العام وحصل على 84 درجة في نفس المادة في الفصل الدراسي الثاني ، ما نسبة تحسن درجة علي في هذه المادة ؟"
                RGame5.Text = "6% "
                RGame6.Text = "9%"
                RGame7.Text = "12%"
                RGame8.Text = "16% "

            Case 4 : LGame9.Text = " يستطيع علي قراءة 10 صفحات من كتاب خلال 15 دقيقة فخلال كم دقيقة سيتمكن فيها من قراءة 6 صفحات من هذا الكتاب بنفس السرعة .؟!"
                RGame5.Text = "7"
                RGame6.Text = "8"
                RGame7.Text = "9"
                RGame8.Text = "10"
               

            Case 5 : LGame9.Text = "إذا كانت س/ص=س/20 ، و س – ص = ص ، فإن قيم (س+ص) يمكن ان تساوي"
                RGame5.Text = "15"
                RGame6.Text = "25"
                RGame7.Text = "50"
                RGame8.Text = "10"
               
            Case 6 : LGame9.Text = "طلب من علي اختيار قلم ومسطرة ودفتر من بين ثلاث مساطر وثلاثة أقلام وثلاث دفاتر مختلفة الألوان ما عدد الاختيارات الممكنة من بين هذه الأصناف ؟!"
                RGame5.Text = "9"
                RGame6.Text = "12"
                RGame7.Text = "18"
                RGame8.Text = "27"
               
            Case 7 : LGame9.Text = "إذا كان ضعف مجموع ثلاثة أعداد متتالية يساوي 12 ، ما العدد الاكبر منها ؟"
                RGame5.Text = "1"
                RGame6.Text = "2"
                RGame7.Text = "3"
                RGame8.Text = "4"
               
            Case 8 : LGame9.Text = "إذا كانت  2س = 8 س-4 ، فإن س تساوي :"
                RGame5.Text = "2"
                RGame6.Text = "4"
                RGame7.Text = "6"
                RGame8.Text = "12"

            Case 9 : LGame9.Text = "عدد عشري حاصل ضرب رقميه يساوي 6 والفرق بين مربعيه يساوي 5 فما العدد ؟"
                RGame5.Text = "23"
                RGame6.Text = "31"
                RGame7.Text = "61"
                RGame8.Text = "16"
                

            Case 10 : LGame9.Text = "حديقة عامة لها خمسة أبواب ، بكم طريقة يستطيع فرد أن يدخل ويخرج  من أي باب مختلف ؟!"
                RGame5.Text = "20"
                RGame6.Text = "25"
                RGame7.Text = "30"
                RGame8.Text = "35"
               
            Case 11 : LGame9.Text = "حديقة عامة لها خمسة أبواب ، بكم طريقة يستطيع فرد أن يدخل ويخرج  من أي باب  ؟!"
                RGame5.Text = "20"
                RGame6.Text = "25"
                RGame7.Text = "30"
                RGame8.Text = "35"
               

            Case 12 : LGame9.Text = "أستضاف مدير مدرسة ثلاثة مدرسين وأربعة طلاب ، وجلسوا للطعام على مائدة دائرية بحيث يجلس المدير على كرسي معين وبجانبه طالب فمدرس ... وهكذا،  بكم طريقة يمكن للمجموعة الجلوس ؟!"
                RGame5.Text = " طريقة 144"
                RGame6.Text = " طريقة 255"
                RGame7.Text = " طريقة 120"
                RGame8.Text = " طريقة 50"
               
            Case 13 : LGame9.Text = "ثماني نقاط كل ثلاث منها ليست على استقامة واحدة . كم قطعة مستقيمة يمكن رسمها بين هذه النقاط ؟ وكم مثلثاً يمكنه تعيينه ؟"
                RGame5.Text = "25قطعة و88 مثلث."
                RGame6.Text = "29 قطعة و100 مثلث"
                RGame7.Text = "28قطعة و56 مثلث."
                RGame8.Text = "30 قطعة و90 مثلث"
               

            Case 14 : LGame9.Text = " 9 قطع من العملات قذفت آلياً ، فبكم طريقة يمكن أن تظهر بها 4 قطع متفقة في أحد الوجهين ، بينما تتفق خمس في الوجه الآخر .؟ "
                RGame5.Text = "126 طريقة"
                RGame6.Text = "5 طريقة"
                RGame7.Text = "153 طريقة"
                RGame8.Text = "114 طريقة"
                
            Case 15 : LGame9.Text = " بكم طريقة يتم توزيع 10 كتب مختلفة بين تلميذين أ ، ب ، بحيث يأخذ الأول 6 والثاني 2 ؟"
                RGame5.Text = "230 طريقة ."
                RGame6.Text = "260 طريقة"
                RGame7.Text = "226 طريقة"
                RGame8.Text = "620 طريقة"
              

            Case 16 : LGame9.Text = "مجلس أدارة يتكون من 10 أعضاء ، بكم طريقة يمكن اخذ قرار باتفاق 6 أعضاء ضد 4 أعضاء .؟"
                RGame5.Text = "230 طريقة ."
                RGame6.Text = "215 طريقة"
                RGame7.Text = "216 طريقة"
                RGame8.Text = "210 طريقة "
               

            Case 17 : LGame9.Text = "الدالة الأسية للوغاريتم لو625 1 = 0"
                RGame5.Text = "1 = 625 ^ 0 "
                RGame6.Text = "0 = 625 ^ 1"
                RGame7.Text = "625 = 1 ^ 0"
                RGame8.Text = "625 = 0 ^ 1"
              

            Case 18 : LGame9.Text = " صندوق به 5 كرات بيض ، 4 كرات حمر ، سحبت منه كرتان معاً فما أحتما أن تكون الكرتان حمراوين ؟!"
                RGame5.Text = "20/31"
                RGame6.Text = "20/36"
                RGame7.Text = "20/20"
                RGame8.Text = "36/21"


            Case 19 : LGame9.Text = "أوجد عدد طرق اختيار كرتين من صندوق يحتوي على 15 كرة بدون ترتيب ؟!"
                RGame5.Text = "101 طريقة ."
                RGame6.Text = "103 طريقة"
                RGame7.Text = " 105 طريقة"
                RGame8.Text = "107 طريقة"


            Case 20 : LGame9.Text = "ما هو العدد الذي ثلثه نصف ؟!"
                RGame5.Text = "0.5"
                RGame6.Text = "1"
                RGame7.Text = "1.5"
                RGame8.Text = "2"

        End Select
    End Sub
' هذا البتون حق البروس كي اي عند الضغط على الانتر او علامة المسافة تظهر الاجابة ..
    Private Sub Button1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Button1.KeyPress
        'السؤال الاول

        If RGame6.MouseButtons Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        'السؤال الثاني
        If RGame8.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        'السؤال الثالث
        If RGame7.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        'السؤال الرابع
        If RGame7.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        'السؤال الخامس
        If RGame5.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If
        'السؤال السادس
        If RGame8.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        'السؤال السابع
        If RGame7.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If


        If RGame7.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        If RGame5.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        If RGame5.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If
        If RGame6.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If
        If RGame5.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        If RGame7.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        If RGame5.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If


        If RGame6.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        If RGame8.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If


        If RGame5.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        If RGame6.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = True
        End If
        If RGame6.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If

        If RGame6.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If
    End Sub

    Private Sub TGame2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TGame2.Tick
        corrcet.Visible = False
    End Sub

    Private Sub PFGame2_6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PFGame2_6.Click
        'أظهار الرسالة للخروج من البرنامج
        PEixt1.Visible = True
        PEixtyas.Visible = True
        PEixtno.Visible = True
    End Sub

    Private Sub PEixtyas_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PEixtyas.Click
        'االخروج من البرنامج
        End
        'اغلاق الملف
        On Error Resume Next
        Kill("test")

    End Sub

    Private Sub PEixtno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PEixtno.Click
        'اخفاء الرسالة عندما لا تريد الخروج من البرنامج
        PEixt1.Visible = False
        PEixtyas.Visible = False
        PEixtno.Visible = False
    End Sub

End Class

--------

طبعاً هذا الكود مغيرة اسماء اللادوات وغيرها لأنه مشروع وربط وووو

وشكراً جزيلاً على التفاعل اليي ماتخيلته

عن جد منتدى رائع جداً جدااااااااً :)

شكراً جزيلاً للجميع

تحياتي ،،

#14

السلام عليكم

يا طيب إرفق برنامج هنا للتعديل عليه ..... وشكراً

في المثال يتضح المقال

#15

حسننا

وضغت اللعبة في بروجكت جديد وهذا هو الملف المرفق

وشكراً جزيلاً للجميع

تحياتي

:rolleyes:

#16

ويييييه وينه حملت كملف مرفق

(:

#17

وييييييييه واخيراً وضع بعد ماشلت الفلاشة اليي حق البرنامج

ماعليه مابيصير شيء اذا شلناها او لا

ننتظر الاجابة بفاااااااااااااارغ الصبر

:)

MyProject.zip

#18

للأسف لا توجد معلومات كافية عن ال randomize و لكن وظيفتها هي ربط العشوائية بالوقت الحالي ( علي حسب معلوماتي الحالية) و هي فكرة ليست بالجديدة، و لكنها فعالة للغاية، فمن المستحيل ان يتشابه رقمان بهذه الطريقة لاختلاف الوقت دائما و علي العموم انا جربتها و لم تظهر لي منها أي مشاكل، جربها انت و اذا ظهرت معك تكرار للرقم أخبرنا به و نحن في الانتظار :D

Oracle 10G Certified Professional Developer.

عودة بعد 3 سنوات غياب، ان شاء الله سوف اتكلم معكم قريبا احبائي

#19

السلام عليكم

طيب أنا لم أستسغ الفكرة أصلاً , ممكن من فضلك ترينا كيف جربتها بالنصوص البرمجة code إذا لم يكلف عليك طبعاً وشكراً لك أخي.

في المثال يتضح المقال

#20

السلام عليكم

وانا كمان مش فاهم خالص الموضوع من الاصل

بلنسبة لى Randomize

    Private Function Randomizer(ByVal iStart As Integer, ByVal iEnd As Integer) As Integer
        Dim iRandomValue As Integer
        Randomize()
        iRandomValue = iStart + (Rnd() * (iEnd - iStart))
        Return iRandomValue
    End Function

   MessageBox.Show(Randomizer(2, 100))

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#21

وييييييييه مافهمتوا الكود

!!!؟؟؟

:( :( :(

عيل اني شنو باسويي

!!!!!!!!!!!!

:wacko: :s

عموماً باقول اليي فافهمتنه

بالتفصيل

فكرة البرنامج هي عند الغضط على زر ابدأ الفرز .. مكّن التايمر

Timer1.Enabled = True

وفي حدث التايمر

Lebel1.Text = CStr(Int(Rnd() * 20))
        If button2.Enabled Then
            Lebel1.Text = CStr(Int(Rnd() * 20))

        End If

أي اذا ضغط على زر ابدأ الفرز افرز الارقام العشوائية في الليبل واحد

(وأعتقد هنا المرفروض أنحط شفرة عدم تكرار الرقم العشوائي!!!!!!!!!!!؟؟؟)

_______

On Error Resume Next
start:
        System.Windows.Forms.Application.DoEvents()
        n = Int(Rnd(20) * 20)
        FileClose(1)
        FileOpen(1, "test", OpenMode.Input)
        While EOF(1) = False
            Input(1, noa)
            Count1 = Count1 + 1

        End While
        FileClose(1)
        Count1 = 0
        FileOpen(1, "test", OpenMode.Input)
        While EOF(1) = False
            Input(1, no)
            If n = no Then
                GoTo start
            End If
        End While
    End Sub

____

هذه الشفرة تفتح ليي ملف نصي وتخزن فيه الاسئلة

وهو موجود في bin

' عند الضغط على ايقاف عطل التايمر مع الابقاء على الرقم العشوائي الظاهر

        Timer1.Enabled = False
[code/]

 'عرض الاسئلة ..
[code]
button3_Click

        FileClose(1)
        FileOpen(1, "test", OpenMode.Append)
        WriteLine(1, n)
        FileClose(1)
Select Case

اهني عند الغضط على زر السؤال يعرض سؤال الرقم العشوائي الظاهر بخاصية Select Case

في حدث

Button4_KeyPress

        If RadioButton1.Checked Then
            'صوت ورسالة
            'رسالة الجواب الصحيح
            corrcet.Visible = True
        Else
            'رسالة الجواب الخطأ
            mistake.Visible = False
        End If
......
.............

..................

هنا عند اختيار الجواب لابد من ظهور رسالة تعلم اللاعب هل الجواب صحيح ام خاطئ

وقد ضبطنا الخصائص وو

بس ماستوت

:( :( :( :(

____

هذي شفرة اللعبة كلها فقط

اتمنى اتكونوا فهمتوني

مع العلم انه الشفرة حق فتح الملف وغيره قالها ليي احد المبرمجين في احد المنتديات

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

بس بعدين مالقيت جواب لسؤالي

:(

كييييف مانخلي الرقم العشوائي يتكرر

الابعد فتح اللعبة مرة اخرى

اتمنى القى الجواب

:(

تحياتي القلبية،،

#22

ردوا عليي قبل الاربعاء

ابغي اخلص منه

:( :(

#23

السلام عليكم

هذا برنامج مبسط يشرحلك عملية العشوائية الفريدة Unique Randomization

تمعن فيها و إن شاء الله هي سهله للغاية .. بالتوفيق

UniqueRandomization.zip

في المثال يتضح المقال

#24

ماشتغل عندي البرنامج اليي عطيتني وياه

:(

#25

ســلام

عذراً أني قمت سويت مشروع جديد

وكتبت فيه الكود اليي عطيتني وياه اخ الغملاسي

وهذا هو الكود وقد وضعت المرفق حق المشروع

بس مايسويي مثل اليي ابغيه

يعني يفحص ليي ارقام عشوائي

ويقلبها مثل الدولاب لين نختار ايقاف وبعدين يطلع الرقم العشوائي بعد مانضغط على ايقاف زين

ولا يحسب النتيجة النهائية

..

اتمنى القى الاجابة

جزاكم الله الف خير

:(

مع السلامة

WindowsApplication1.zip

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…