2017-03-06 66 views
0

即時通訊目前正在開發Visual Basic中的數學遊戲,但我需要一些幫助一組特定的代碼。的Visual Basic號碼選擇代碼

我需要在碼中選擇的隨機數:Dim Result0 = Rnd1.Next(10, 20),總是在0或2,從而結束數字像13和15不會被選擇。我需要這樣做,因爲IM製作賽區的比賽,所以如果像10/6隨機問題來了,我要進入一個長期十進制數這僅僅是煩人。這是完整的代碼。

Public Class Division 
    Dim Rnd1 As New Random 
    Dim Rnd2 As New Random 
    Dim Result0 = Rnd1.Next(10, 20) 
    Dim Result1 = Rnd1.Next(1, 10) 
    Dim Total = Result0/Result1 
    Dim Score As Integer = 0 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     Me.KeyPreview = True 
     TextBox1.Text = Result0 
     TextBox2.Text = Result1 
     Label3.Text = Total 
     Label4.Text = Score 

    End Sub 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim Rnd1 As New Random 
    Dim Rnd2 As New Random 
    Dim Result0 = Rnd1.Next(10, 20) 
    Dim Result1 = Rnd1.Next(1, 10) 
    Dim Total = Result0/Result1 

    If TextBox3.Text = Label3.Text Then 
     Score += 1 
     TextBox3.Text = "" 
    Else 
     MessageBox.Show("Incorrect") 
     TextBox3.Text = "" 
    End If 
    TextBox1.Text = Result0 
    TextBox2.Text = Result1 
    Label3.Text = Total 
    Label4.Text = Score 

End Sub 

Private Sub Form1_Click(sender As Object, e As EventArgs) Handles Me.Click 

End Sub 

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown 

    If e.KeyCode = Keys.Enter Then 
     e.SuppressKeyPress = True 
     Button1.PerformClick() 
    End If 


End Sub 
End Class 

回答

0

你可以做的是測試如果總爲整數,您將所有的值之前,如果不重新生成的數字。

注意,當你把你可以使用「/」或「\」這取決於如果你想整數值上的數字。見https://msdn.microsoft.com/en-us/library/b6ex274z.aspx

Dim Rnd1 As New Random 
Dim Rnd2 As New Random 
Dim Result0 As Integer 
Dim Result1 As Integer 
Dim Total As Integer 

Do 
    Result0 = Rnd1.Next(10, 20) 
    Result1 = Rnd1.Next(1, 10) 
    If Result0/Result1 = Result0 \ Result1 Then 
     Total = Result0/Result1 
     Exit Do 
    End If 
Loop 

或者,你可以生成你的答案和除數和它們相乘給你的第一個數字:)

Dim Result1 = Rnd1.Next(1, 10) 
Dim Total = Rnd1.Next(1, 5) 
Dim Result0 = Result1 * Total 
+0

'你可以生成你的答案和除數和它們相乘給你第一個號碼< - 我的第一個想法。 Upvoted。 – Neolisk

+0

我真的不理解的代碼非常好,我試圖把它,但它不工作u能喜歡幫我多一點配售和代碼 –

+0

的縮進如果你看看我的回答的第二部分,替換我已更改的三條線可能有所幫助。但是,如果你實際上無法閱讀代碼,那麼在繼續作業之前,你可能需要專注於理解它的功能。 –