다음은 내가 사용하고있는 코드입니다. 나는 프로 시저와 함수로 프로그램을 분리하여 프로그램을 구성하려고합니다. 이 코드는 분할되지 않았을 때 작동했지만, 아래의이 형식을 사용하면 현재 숫자는 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
이 ByRef's'에'ByVal's을 변경합니다. – helrich