【发布时间】:2014-11-18 21:34:04
【问题描述】:
这是我正在使用的代码。我试图通过将程序拆分为过程和函数来组织程序。代码在未拆分时有效,但是当我采用下面的这种格式时,当前数字变为 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
【问题讨论】:
-
将您的
ByVals 更改为ByRefs。