تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مساعدة في برنامج مسابقة بأسئلة عشوائية
#3
أنت تحتاج الي مصفوفتان الأولي سيتم تخزين جميع الاسئلة بها و في المصفوفة الثانية سيتم تخزين الاسئلة العشوائية
عليك فقط ان تختار السؤال من المصفوفة العشوائية ثم تحذفه منها بعد أن تختاره
و من الاسهل لك أن تحذف اخر سؤال في القائمة العشواية او تحذف اول سؤال

لنحاول تنفيذ الفكرة في مشروع منفصل ختي يتضح الامر لك
افتح شروع عادي به فورم واحد و اضف للفورم عدد إثنان LiistBox الي الفورم ثم اكتب الكود بالشكل التالي

PHP كود :
Public Class Form1

    Private originalList 
As List(Of Integer) = New List(Of Integer)
 
   Dim randomizedList As List(Of Integer) = CType(Nothing, List(Of Integer))

 
   Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load

        
' Fill original list with Values
        For i As Integer = 1 To 15
            ' 
be sure the values is not repeated in list
 
           If Not originalList.Contains(iThen
                
' add originalList to list
                originalList.Add(i)
            End If
        Next

        ' 
for testing purpose only
        For Each item In originalList
            Me
.ListBox1.Items.Add(item)
 
       Next

        randomizedList 
RandomizeIntegers(originalList)

 
       ' get the question which shall equals to thop value in randoized list
        Dim selectedQuestion As Integer = GetTopQuestionValue()

        ' 
remove the top value from randomized list
 
       randomizedList.Remove(randomizedList.Count 1)

 
       ' for testing purpose only
        For Each item In randomizedList
            Me.ListBox2.Items.Add(item)
        Next

        ' 
for testing purpose only
        Me
.Text = (ListBox1.Items.Count 1) - (ListBox2.Items.Count 1)

 
   End Sub

    Private 
Function GetTopQuestionValue() As Integer
        Return randomizedList
(randomizedList.Count 1)
 
   End Function

 
   Private Function RandomizeIntegers(items As List(Of Integer)) As List(Of Integer)
 
       Dim result items
        Dim r 
= New Random()
 
       For i As Integer items.ToArray.Length To 2 Step -1
            Dim j 
As Integer r.Next(i)
 
           Dim t result(j)
 
           result(j) = result(1)
 
           result(1) = t
        Next
        Return result
    End 
Function


End Class 

 عليك ان تقوم بتطبيق نفس الفكرة في مشروعك

ملحوظة:

الدالة الخاصة بتوليد ارقام عشوائية يمكن استخدامها مع اي شئ غير الارقام فقط عليك بتغيير نوع المدخلات الخاصة بها
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
RE: مساعدة في برنامج مسابقة بأسئلة عشوائية - بواسطة silverlight - 13-12-15, 07:07 AM


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


يقوم بقرائة الموضوع: