【问题标题】:Visual Basic Number selector codeVisual Basic 数字选择器代码
【发布时间】:2017-03-06 00:19:47
【问题描述】:

我目前正在用 Visual Basic 开发一个数学游戏,但我需要一些关于某组代码的帮助。

我需要在代码中选择的随机数:Dim Result0 = Rnd1.Next(10, 20),始终以 0 或 2 结尾,因此不会选择像 13 和 15 这样的数字。我需要这样做,因为我正在制作除法游戏,所以如果出现像 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

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    您可以做的是在分配所有值之前测试总数是否为整数,以及它是否不会重新生成您的数字。

    请注意,当您将数字相除时,您可以使用“/”或“\”,具体取决于您是否需要整数值。见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
    

    【讨论】:

    • you could generate your answer and the divisor and multiply them together to give you the first number
    • 我不太了解代码,我试着把它放进去,但它不起作用你能帮我多一点帮助我放置和缩进代码
    • 如果您查看我的答案的第二部分并替换我已更改的三行,这可能会有所帮助。但是,如果您实际上无法阅读代码,那么您可能需要在继续作业之前专注于了解它的作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 2017-05-18
    相关资源
    最近更新 更多