13-12-15, 07:07 AM
(آخر تعديل لهذه المشاركة : 13-12-15, 07:12 AM {2} بواسطة silverlight.)
أنت تحتاج الي مصفوفتان الأولي سيتم تخزين جميع الاسئلة بها و في المصفوفة الثانية سيتم تخزين الاسئلة العشوائية
عليك فقط ان تختار السؤال من المصفوفة العشوائية ثم تحذفه منها بعد أن تختاره
و من الاسهل لك أن تحذف اخر سؤال في القائمة العشواية او تحذف اول سؤال
لنحاول تنفيذ الفكرة في مشروع منفصل ختي يتضح الامر لك
افتح شروع عادي به فورم واحد و اضف للفورم عدد إثنان LiistBox الي الفورم ثم اكتب الكود بالشكل التالي
عليك ان تقوم بتطبيق نفس الفكرة في مشروعك
ملحوظة:
الدالة الخاصة بتوليد ارقام عشوائية يمكن استخدامها مع اي شئ غير الارقام فقط عليك بتغيير نوع المدخلات الخاصة بها
عليك فقط ان تختار السؤال من المصفوفة العشوائية ثم تحذفه منها بعد أن تختاره
و من الاسهل لك أن تحذف اخر سؤال في القائمة العشواية او تحذف اول سؤال
لنحاول تنفيذ الفكرة في مشروع منفصل ختي يتضح الامر لك
افتح شروع عادي به فورم واحد و اضف للفورم عدد إثنان 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 Object, e As EventArgs) Handles 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(i) Then
' 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(i - 1)
result(i - 1) = t
Next
Return result
End Function
End Class
عليك ان تقوم بتطبيق نفس الفكرة في مشروعك
ملحوظة:
الدالة الخاصة بتوليد ارقام عشوائية يمكن استخدامها مع اي شئ غير الارقام فقط عليك بتغيير نوع المدخلات الخاصة بها

