要求:程序里必须用函数验证输入的有效性。2.当出现平局时。自动重来。知道分出胜负为止。
Sub Main()
Randomize()
Dim number As Integer
Dim choice1, computer, result As String
number = Int(3 * Rnd())
number += 1
If number = 1 Then
computer = ("Rock")
ElseIf number = 2 Then
computer = ("Paper")
ElseIf number = 3 Then
computer = ("Scissors")
End If
choice1 = userPick()
Console.WriteLine("Computer's choice is: " & computer)
result = SimulateMatch(player, computer)
End Sub
Function userPick() As String
Dim choice As String
Console.Write("Please Enter Your Choice: ")
choice = Console.ReadLine
While choice.ToUpper() <> "ROCK" And choice.ToUpper <> "PAPER" And choice.ToUpper <> "SCISSORS"
Console.WriteLine("Error! Your must choose from " & "ROCK" & "," & "PAPER" & "," & "SCISSORS")
Console.Write("Please Try Again:")
choice = Console.ReadLine
End While
Return choice
End Function
Function SimulateMatch(ByVal player As String, ByVal computer As Integer) As Integer
If player = 1 And computer = 3 Then
Console.WriteLine("Player Won!!")
ElseIf player = 1 And computer = 2 Then
Console.WriteLine("Computer Won!!")
ElseIf player = 2 And computer = 1 Then
Console.WriteLine("You Won!!")
ElseIf player = 2 And computer = 3 Then
Console.WriteLine("Computer Won!!")
ElseIf player = 3 And computer = 1 Then
Console.WriteLine("Computer Wom!!")
ElseIf player = 3 And computer = 2 Then
Console.WriteLine("You Won!!")
End If
If player = 3 And computer = 3 Then
Console.WriteLine("You tied!!")
Console.ReadKey(False)
Console.Clear()
ElseIf player = 2 And computer = 2 Then
Console.WriteLine("You Tied!!")
Console.ReadKey(False)
Console.Clear()
ElseIf player = 1 And computer = 1 Then
Console.WriteLine("You Tied!!")
Console.ReadKey(False)
Console.Clear()
End If
Return SimulateMatch
End Function
End Module