Ето кода, който използвам. Опитвам се да организирам програмата, като я разделя на процедури и функции. Кодът работеше, когато не беше разделен, но когато го имам в този формат по-долу, текущият номер става 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