我在完成RPS游戏的代码时遇到了一些困难。操作步骤如下: c.主键点击代码。i.您需要像我们之前所做的那样,使用输入框提示用户输入三个字母中的一个。二、从您的自定义方法中获取随机字母。三、将用户的字母和随机的计算机字母都传递给您的其他方法。四.如果返回true,则告诉用户他们在您添加到表单的标签中中奖,否则告诉他们在该标签中中奖。
我想我做对了1和2,但我在3和4上遇到了问题。有人能帮帮忙吗!!
到目前为止,这是我的代码
Public Class Form1
Dim randomObject As New Random()
Private Property user As String
Private Property computer As Random
Function GetRandomRPSLetter() As String
randomObject.Next(1, 4)
Dim computer As Integer = randomObject.Next(1, 4)
If computer = 1 Then
Return "r"
ElseIf computer = 2 Then
Return "p"
Else
Return "s"
End If
End Function
Function GetRPSRoundWinner(ByVal user As String, ByVal computer As String) As String
If user = "r" Then
If computer = "r" Then
Return False
ElseIf computer = "p" Then
Return False
Else
Return True
End If
ElseIf user = "p" Then
If computer = "r" Then
Return True
ElseIf computer = "p" Then
Return False
Else
Return False
End If
Else
If computer = "r" Then
Return False
ElseIf computer = "p" Then
Return True
Else
Return False
End If
End If
End Function
Private Sub Button1_click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
user = InputBox("Please input r, p, or s to play")
GetRandomRPSLetter()
End Sub
Sub GetRPSRoundWinner()
If GetRPSRoundWinner(True) Then Return
Label1.Text = "You win"
End Sub
Private Function GetRPSRoundWinner(p1 As Boolean) As Boolean
Throw New NotImplementedException
End Function
End Class现在我调用了GetRPSRoundWinner
Private Sub Button1_click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
user = InputBox("Please input r, p, or s to play")
GetRandomRPSLetter()
GetRPSRoundWinner()
End Sub有谁能帮我比较一下吗?
非常感谢大家!
发布于 2013-02-20 05:42:23
GetRPSRoundWinner方法应该返回一个Boolean而不是一个String。从anywhere.Option Strict On可以减少这类错误。GetRandomRPSLetter方法,但是您从未从中获取返回值,并将其用于将用户的输入与随机生成的计算机移动进行比较。GetRPSRoundWinner您的GetRPSRoundWinner方法有三个重载,但实际上只有一个是有用的。https://stackoverflow.com/questions/14967850
复制相似问题