2017-02-02 11 views
0

私はハングマンゲームを作ろうとしていて、ユーザーが間違った文字を選んだ場合には「間違った」と入力しようとしていますが、配列から単語を選択するrandomWordが繰り返されます。配列のためにメッセージボックスを繰り返すのを止めるには?

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

    randomWord = wordUsed(random.Next(0, 8)) 
    Label2.Text = randomWord 
End Sub 

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 
     End If 
    Next 
End Sub 
+1

'MessageBox.Show'の後に' Exit For'を追加します。これにより、ループのさらなる実行が中断されます。 – Codexer

+0

'Label4.Text = counter'の後に' Exit For'の後にいると言っていますか? – Bugs

+1

VB.NETはVBAではありません – Plutonix

答えて

0

VBがあなたのために検索するのをより簡単にすることができます。

Sub letterInput() 
    if InStr(randomWord.Length, userInput) > 0 
     MessageBox.Show("correct") 
    Else 
     MessageBox.Show("incorrect") 
     Label4.Text = counter 
    End If 
End Sub 

注:私はuserInputが1文字であると仮定しています。

関連する問題