首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hangman/单词猜测游戏的问题

hangman/单词猜测游戏的问题
EN

Stack Overflow用户
提问于 2016-12-09 00:19:07
回答 1查看 75关注 0票数 0

我在做一个绞刑者游戏。当我按下一个按钮时,我需要输入一个单词,然后这个单词就变成了我需要猜测的单词。我遇到了一个问题,当我按下一个按钮时,如何检查输入框中的字母的单词。如果字母在单词中,则我给出的字母需要从*更改为字母本身。例如,需要转换为密码字符的word:house和猜测的字母:o,那么它应该变成*o*。当单词中有多个字母时,它们都需要显示出来。

这是我的荷兰语代码,但我希望你能帮助这里是一些单词的翻译: woord,word ster,star aantalletters,amountofletters nieuwwoord,newword geef het woord,给单词Geef een woord in,给一个有效的单词jammer mis,给坏的错误字母

代码:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2016-12-09 00:40:50

有几种方法可以做到这一点,其中一种方法如下:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41044063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档