代码在hangman中遍历整个字符串

时间:2017-02-02 18:55:46

标签: vb.net

如何阻止我的代码迭代整个字符串,说明来自用户的输入是否与随机字符串的输入匹配,记住这是一个刽子手游戏,我希望代码只显示一次如果用户选择字母是正确的还是不正确的,而不是显示八次。

Sub letterInput()
    For i As Integer = 0 To randomWord.Length - 1
        If userInput = randomWord(i) Then
            MessageBox.Show("correct")

        ElseIf userInput <> randomWord(i) Then
            MessageBox.Show("incorrect")
            Label4.Text = counter
            Exit for


        End If
    Next
End Sub


Sub wordGeneration()
    Dim wordUsed As Array = {"pizza", "noodle", "zombie", "object", "rowin", "running", "elephant", "lion"}
    Dim random As New Random

    randomWord = wordUsed(random.Next(0, 9))
    Label2.Text = randomWord

End Sub

1 个答案:

答案 0 :(得分:0)

我在评论中的意思是你只需要用简单的if / else替换你的for循环。 String.Contains已经检查了整个字符串,因此不再需要遍历每个字母:

Sub letterInput()
    If randomWord.Contains(userInput) Then
        MessageBox.Show("correct")
    Else
        MessageBox.Show("incorrect")
        Label4.Text = counter
    End If
End Sub