Последовательный / порядковый генератор случайных чисел - PullRequest
0 голосов
/ 11 января 2019

Мне нужно, чтобы следующее сгенерированное число было больше, чем последнее ... это мой первый проект с объектно-ориентированным программированием, поэтому я не знаю много. Кроме того, как мне сделать так, чтобы он выполнял определенное количество симуляций, прежде чем попадет в группу чисел? Это будет с благодарностью.

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub

    Private Sub Button1_Click(ByVal sender As Object, e As EventArgs) Handles Button1.Click
        Randomize()

        TextBox1.Text = Rand(1, 100)
        TextBox2.Text = Rand(1, 100)
        TextBox3.Text = Rand(1, 100)
        TextBox4.Text = Rand(1, 100)
        TextBox5.Text = Rand(1, 100)
        TextBox6.Text = Rand(1, 100)
        TextBox7.Text = Rand(1, 100)
        TextBox8.Text = Rand(1, 200)

    End Sub
    Public Function Rand(ByVal Low As Long, ByVal High As Long) As Long
        Rand = Int((High - Low + 1) * Rnd()) + Low
    End Function

End Class

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Создайте список текстовых полей, которые вы хотите заполнить на уровне формы.

Private lstTextBoxes As List(Of TextBox)

Заполните список в форме. Загрузка

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    lstTextBoxes = New List(Of TextBox) From {TextBox1, TextBox2, TextBox3}
End Sub

Используйте класс .net Random. Это проще, чем старый.

Private Rand As New Random

Теперь вы можете перебирать текстовые поля и заполнять «случайным» числом. Каждая итерация будет иметь большее число, чем последняя, ​​но остановится, когда достигнет 100.

 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim highNumber As Integer
        For Each txtBox As TextBox In lstTextBoxes
            If highNumber >= 99 Then
                Return
            End If
            highNumber = Rand.Next(highNumber + 1, 100)
            txtBox.Text = highNumber.ToString
        Next
 End Sub
0 голосов
/ 12 января 2019

Не вдаваясь ни в какие другие проблемы с кодированием на вашем примере:

TextBox2.Text = Rand(Long.Parse(TextBox1.Text), 100)
TextBox3.Text = Rand(Long.Parse(TextBox2.Text), 100)
' ... etc.

100 основан на вашем коде, у вас может быть некоторый алгоритм для установки следующего более высокого диапазона, кроме заданных значений. Если ваше первое случайное число равно 100, то остальные вычисления будут не случайными!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...