2017-02-18 4 views
0

今日、私のコンピュータプログラミングクラスでは、CaseStudyというプロジェクトを作成しました。プログラムのリプレイの価値を高める方法を見ました。私はコードとインタフェースをハンママンのように変身させることにしました。私は手足が表示されるようにしていますが、メッセージボックスの[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 

あなたがしたい場合、私は、他の写真を撮ることができます。

+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 
関連する問題