图片不会显而易见

时间:2017-02-18 01:02:34

标签: vb.net

所以今天在我的计算机编程课程中,我们创建了一个名为CaseStudy的项目。我看到了一种让程序具有更多重播价值的方法。我决定将代码和界面变形为一个Hangman游戏。我已经有了四肢出现,但只有在messageBox上单击Ok后才会出现。

我想知道是否有人有办法让这些肢体实时出现。

以下是重要的代码:

    Dim SECRET_WORD As String = newSecretWord
        Const FLAG As Char = "!"
        Const GUESS_PROMPT As String = "Enter a letter or " & FLAG & " to guess word:"
        Dim numGuesses As Integer = 0
        Dim letterGuess As Char
        Dim wordGuess As String
        Dim tempWord As String
        Dim endGame As Boolean

        Dim wordGuessedSoFar As String = ""
        Dim lenght As Integer = SECRET_WORD.Length
        wordGuessedSoFar = wordGuessedSoFar.PadLeft(lenght, "_")
        Me.lblSecretWord.Text = wordGuessedSoFar

        Dim tempLetterGuess = InputBox(GUESS_PROMPT, Me.Text)
        If tempLetterGuess = Nothing Then
            endGame = True
        Else
            letterGuess = tempLetterGuess
        End If
        Do While letterGuess <> FLAG And wordGuessedSoFar <> SECRET_WORD And Not endGame
            numGuesses += 1
            For letterPos As Integer = 0 To SECRET_WORD.Length - 1
                If SECRET_WORD.Chars(letterPos) = Char.ToUpper(letterGuess) Then
                    tempWord = wordGuessedSoFar.Remove(letterPos, 1)
                    wordGuessedSoFar = tempWord.Insert(letterPos, Char.ToUpper(letterGuess))
                    Me.lblSecretWord.Text = wordGuessedSoFar


                End If
            Next letterPos


            If wordGuessedSoFar <> SECRET_WORD Then
                tempLetterGuess = InputBox(GUESS_PROMPT, Me.Text)
                If tempLetterGuess = Nothing Then
                    endGame = True
                Else
                    letterGuess = tempLetterGuess
                End If
            End If
        Loop


            If wordGuessedSoFar = SECRET_WORD Then
            MessageBox.Show("You guessed it in " & numGuesses & " guesses!")
        ElseIf letterGuess = FLAG Then
            wordGuess = InputBox("Enter a word: ", Me.Text)
            If wordGuess.ToUpper = SECRET_WORD Then
                MessageBox.Show("You guessed it in " & numGuesses & " guesses!")
                Me.lblSecretWord.Text = SECRET_WORD
            Else
                MessageBox.Show("Sorry, you lose.")
            End If
        Else
            MessageBox.Show("Game over.")
            lblSecretWord.Text = Nothing
        End If

        Dim place As Integer = SECRET_WORD.Length - 1

        If tempLetterGuess <> SECRET_WORD.Chars(place) Then
            numWrong += 1
        End If

        If numWrong = 1 Then
            picHead.Visible = True
        End If
        If numWrong = 2 Then
            picBody.Visible = True
        End If
    End Sub


End Class

如果您愿意,我可以拍摄任何其他照片。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望在用户看到该消息之前显示您的“图片”。如果是这样,您需要将以下代码移至MessageBox之前和InputBox之后的区域:

    Dim place As Integer = SECRET_WORD.Length - 1

    If tempLetterGuess <> SECRET_WORD.Chars(place) Then
        numWrong += 1
    End If

    If numWrong = 1 Then
        picHead.Visible = True
    End If
    If numWrong = 2 Then
        picBody.Visible = True
    End If