Hangman VB Not Working

时间:2015-11-12 11:58:40

标签: vb.net

I am making a hangman game on VB. An help is appreciated

All I have is that player 1 enters a word. The program then puts it into an array, which sorts it into letters. The player 2 (on the same computer) tries to guess the word, one letter at the time. They type in a letter and the program will go trough the array to check if there are any letter in the word. If there are it will show the letter (leaving the others blank) and leave the scoring system at 10 (I still need to put this in) If they guess wrong the letters will remain covered and it will minus 1 of the scoring system.

Module Module1

Sub Main()
    Dim myword, guess As String
    Dim mywordlen As Integer
    Dim flag As Boolean
    Console.WriteLine("Player 1, please enter a word to guess")
    myword = Console.ReadLine()
    mywordlen = myword.Length
    Dim answer(mywordlen) As Char

    For x = 0 To mywordlen - 1
        answer(x) = "_"
        While answer > 0 Then 
            Console.WriteLine("Please guess a letter")
            guess = Console.ReadLine()
            flag = False
            For x = 0 To mywordlen - 1
                If guess = myword Then {0}
                    answer(x) = guess
                    flag = True
                    Console.WriteLine("The answer is, {0}")
            Next
    Next
End Sub

1 个答案:

答案 0 :(得分:-1)

Dim myword, guess As String
Dim mywordlen, x As Integer
Dim flag As Boolean
Console.WriteLine("Player 1, please enter a word to guess")
myword = Console.ReadLine()
mywordlen = myword.Length - 1
Dim answer(mywordlen), displayword(mywordlen) As Char
Dim score As Integer = 10

For x = 0 To mywordlen
    answer(x) = Mid(myword, x + 1, 1)
    displayword(x) = "_"
Next
While score > 0 
    Console.WriteLine("Please guess a letter")
    guess = Console.ReadLine()  'Assumes user only types one letter
    flag = False
    For x = 0 To mywordlen
        If guess = answer(x) Then
            displayword(x) = guess
            flag = True
        End If
    Next
    If flag Then
        If New String(displayword) = myword Then
            Console.WriteLine("Congratulations! You won!")
            Exit While
        Else
            Console.WriteLine("Correct! {0}", New String(displayword))
        End If
    Else
        Console.WriteLine("Incorrect. {0}", New String(displayword))
        score -= 1
    End If
End While
Console.WriteLine("Game over. The word was {0}", myword)