2017-02-18 4 views
0

Итак, сегодня в моем классе компьютерного программирования мы создали проект под названием CaseStudy. Я видел, как сделать программу более высокой. Я решил превратить код и интерфейс, чтобы быть как игра Hangman. У меня есть конечности, чтобы появиться, но только после нажатия Ok на messageBox.Картинки не станут видимыми

Мне интересно, есть ли у кого-нибудь способ сделать эти конечности в реальном времени.

Вот важный код:


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 

я могу принимать любые другие фотографии, если вы хотите.

+0

У вас нет каких-либо * фотографии * в вашем коде, так ясно, вы не можете сделать * фотографии *. Можете ли вы уточнить, что вы спрашиваете? –

+0

вы можете использовать метку на форме вместо MessageBox – Slai

+0

Код не [tag: vbscript]. – Lankymart

ответ

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 

 Смежные вопросы

  • Нет связанных вопросов^_^