【问题标题】:issue with hangman/ word guessing game刽子手/猜词游戏的问题
【发布时间】:2016-12-08 16:19:06
【问题描述】:

我正在制作一个刽子手游戏。当我按下一个按钮时,我需要输入一个单词,然后它就变成了我需要猜测的单词。当我按下按钮时,我遇到了如何检查输入框中输入的字母的单词的问题。如果字母在单词中,我给出的字母需要从 * 变为它自己的字母。例如 word:house 需要转换为密码字符和猜测的字母: o 那么它应该变成 *o*** 。当单词中有多个字母时,它们都需要显示。

这是我的荷兰语代码,但我希望你能提供帮助 这是一些单词的翻译:word,word ster,star aantalletters,amountofletters nieuwwoord,newword Geef het woord,give the word geef een geldig woord in, give a valid word jammer mis, to bad wrong letter

代码:

Public Class Form1
Dim woord, tip, ster As String
Dim aantalletters As Integer 
Dim letter As String
Dim nieuwwoord As String

Private Sub btnnieuwspel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnnieuwspel.Click
    txtwoord.Text = ""
    Try
      woord = InputBox("Geef het woord.", "Het woord")
      Do While woord = "" Or woord < 0 Or woord > 0
        If woord = "" Or woord < 0 Or woord > 0 Then
          MessageBox.Show("geef een geldig woord in")
        End If
        woord = InputBox("Geef het woord.", "Het woord")
      Loop
    Catch
    End Try
    Try
      tip = InputBox("Geef de tip", "De tip")
    Catch

    End Try

    aantalletters = woord.Length
    lblTip.Text = "Tip:" & tip

    For i = 1 To aantalletters
      txtwoord.Text = txtwoord.Text & "*"
    Next
End Sub

Private Sub btnSluiten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSluiten.Click
  Me.Close()
End Sub

Private Sub btnletter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnletter.Click
  letter = InputBox("Geef een letter", "De Letter")

  If woord.Contains(letter) Then

  Else
    MessageBox.Show("jammer mis")
  End If        
End Sub

End Class

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    有几种方法,一种如下:

    Option Compare Database
    Option Explicit
    
    Dim MyWord      As String
    Dim txtwoord    As String
    
    ' Just used for testing the loop.
    Sub Test_It()
        MyWord = "house"      ' Set test word
        txtwoord = "*****"    ' Set test Mask
        ' Call function with my 'guess'
        Debug.Print "Result: " & Find_Characters("o")
        Debug.Print "Result: " & Find_Characters("e")
        Debug.Print "Result: " & Find_Characters("s")
        Debug.Print "Result: " & Find_Characters("u")
        Debug.Print "Result: " & Find_Characters("h")
    End Sub
    
    Function Find_Characters(letter As String) As String
    Dim i       As Integer
        For i = 1 To Len(MyWord)    ' Loop thru all characters
            If Mid(MyWord, i, 1) = letter Then    ' If found, replace asterisk
               Mid(txtwoord, i, 1) = letter
            End If
        Next i
        Find_Characters = MyWord & vbTab & txtwoord
        ' Need to stop somehow...
        if InStr(1,txtword, "*") = 0 then Msgbox "Finished guessing... Add code...'
    End Function
    

    【讨论】:

      猜你喜欢
      • 2021-07-31
      • 2016-02-13
      • 1970-01-01
      • 2010-10-28
      • 1970-01-01
      • 2013-03-05
      • 2013-10-20
      • 1970-01-01
      • 2015-05-29
      相关资源
      最近更新 更多