تصميم لعبة بال VB - saharEzz - 02-11-19
السلام عليكم..
لما اصمم لعبة ب VB ، وهي لعبة اسئلة واختار الاجابة الصحيحة
كيف اجعل الاجابة الصحيحة يتغير مكانها ؟
لان اذا كان الاجابة مثلا ع اليمين اللاعب سيعرف ان كل ما يوجد بهذا المكان هو الاجابة الصح بدون ان يحل السؤال !!
وشكرًا ?
RE: تصميم لعبة بال VB - 3booody - 02-11-19
السلام عليكم ورحمة الله وبركاته
عملتلك هذا المثال على افتراض لديك لست بوكست لعرض الاجابات وزر بوتون يضيف الاجابات على اللست بطريقة عشوائية في كل مرة
كود :
Dim Ans As String = "Ans1-Ans2-Ans3-Ans4"
Dim arr As New List(Of Integer)
Dim q As Object
Dim Rand As New Random
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ListBox1.Items.Clear()
q = From a As String In Ans.Split("-")
Do Until arr.Count = Ans.Split("-").Count
Dim n As Integer = Rand.Next(0, Ans.Split("-").Count)
If Not arr.Contains(n) Then
arr.Add(n)
ListBox1.Items.Add(Ans.Split("-")(n))
End If
Loop
arr.Clear()
End Sub
RE: تصميم لعبة بال VB - معاند الحظ - 02-11-19
وعليك السلام saharEzz
هذا يعتمد على تصميمك للبرنامج
لكن أعتقد انك تريد ان تكون الاجابات في خانات مرقمه 1و2و3...
او بالاحرف أ,ب,ج,د
اتمنى ينفع هذا الكود
كود :
Public Class Form1
Dim answer(3) As String
Dim correctAnswer As String
Dim AnswerLabel(3) As Label
Dim answerArraylist As New ArrayList
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Quiz()
End Sub
Sub Quiz()
For a As Integer = 0 To 3
answerArraylist.Add(a)
Next
Dim myQuestion As String = "ماذا تسمى عملة الكويت؟"
lblQuestion.Text = myQuestion
correctAnswer = "دينار"
answer(0) = "دينار"
answer(1) = "ليرة"
answer(2) = "ريال"
answer(3) = "جنيه"
AnswerLabel(0) = New Label
AnswerLabel(1) = New Label
AnswerLabel(2) = New Label
AnswerLabel(3) = New Label
For a As Integer = 0 To 3
Randomize()
Dim value As Integer = CInt(Int((answerArraylist.Count * Rnd()) + 1))
AnswerLabel(answerArraylist(value - 1)).Text = answer(a)
answerArraylist.Remove(answerArraylist(value - 1))
Next
Label1.Text = AnswerLabel(0).Text
Label2.Text = AnswerLabel(1).Text
Label3.Text = AnswerLabel(2).Text
Label4.Text = AnswerLabel(3).Text
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Quiz()
End Sub
Private Sub Label1_Click(sender As System.Object, e As System.EventArgs) Handles Label4.Click, Label3.Click, Label2.Click, Label1.Click
If sender Is Label1 Then
If Label1.Text = correctAnswer Then
MsgBox("إجابة صحيحة")
Else
MsgBox("إجابة خاطئة")
End If
ElseIf sender Is Label2 Then
If Label2.Text = correctAnswer Then
MsgBox("إجابة صحيحة")
Else
MsgBox("إجابة خاطئة")
End If
ElseIf sender Is Label3 Then
If Label3.Text = correctAnswer Then
MsgBox("إجابة صحيحة")
Else
MsgBox("إجابة خاطئة")
End If
ElseIf sender Is Label4 Then
If Label4.Text = correctAnswer Then
MsgBox("إجابة صحيحة")
Else
MsgBox("إجابة خاطئة")
End If
End If
End Sub
End Class
|