Вот код, который я использую. Я пытаюсь организовать программу, разделив ее на процедуры и функции. Код работал, когда он не был разделен, однако, когда он у меня в этом формате ниже, текущее число становится 0. Нужно ли мне изменить UserInput на функцию вместо процедуры? Мне нужно обновить несколько значений и вернуть их в основную программу, поэтому я понятия не имел, как использовать это как функцию. Заранее спасибо за любую помощь, и я приношу свои извинения за свою неопытность, я все еще нахожусь на ранних стадиях изучения программирования в целом.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Call ExplanationOfGame()
CurrentNumber = RandomNumber()
Label2.Text = CurrentNumber
While CurrentNumber <> 0
Call UserInput(UserNumber, CurrentNumber, Answer)
Call ComputerInput(ComputerNumber, CurrentNumber, Answer)
End While
Call DecideWinner(CurrentNumber, Answer)
End Sub
Sub UserInput(ByVal CurrentNumber As Integer, ByVal UserNumber As Integer, ByVal Answer As Integer)
Answer = 1
Do
UserNumber = InputBox("Enter number to minus from the current number (1, 2 or 3). The current number is: " & CurrentNumber)
Loop Until (CurrentNumber - UserNumber) >= 0
CurrentNumber = CurrentNumber - UserNumber
Label2.Text = CurrentNumber
MsgBox("You took " & UserNumber & " away from the current number. The new current number is " & CurrentNumber)
End Sub
ByVal
s наByRef
s. - person helrich   schedule 19.11.2014