0

Visual Basic で Hangman Game をやっています。TextBox に文字を入力し、ボタンをクリックしてチェックアウトする方法を探しています。その文字が文字列にある場合、位置が返されますが、単語に2つの一致がある場合...どうすればよいですか?

次のコードは、最初の一致、つまり最初の「A」の位置のみを返します。

Dim palabra As String = "PALABRA"

Private Sub BtnComprobar_Click(sender As Object, e As EventArgs) Handles BtnComprobar.Click
    If txtComprobar IsNot "" Then
        Dim letra As String = UCase(txtComprobar.Text)

        If palabra.IndexOf(letra) > -1 Then
            Select Case palabra.IndexOf(letra)
                Case 0
                    Lbl1.Text = letra
                    LblP.ForeColor = Color.Red
                Case 1
                    Lbl2.Text = letra
                    LblA.ForeColor = Color.Red
                Case 2
                    Lbl3.Text = letra
                    LblL.ForeColor = Color.Red
                Case 4
                    Lbl4.Text = letra
                Case 5
                    Lbl5.Text = letra
                    LblB.ForeColor = Color.Red
            End Select
        Else
            errores += 1
            txtErrores.Text = CStr(errores)
        End If
        txtComprobar.Text = ""
    End If
End Sub

お手伝いありがとうございます

編集:申し訳ありませんが、配列は使用できません。

4

3 に答える 3

-1

文字列を配列に入れ、各文字をループします。一致する場合は位置を返しますが、配列全体を処理するまでループを続けます。

于 2016-09-28T15:49:49.840 に答える