如何在VB.NET版猜词游戏(Hangman)中实现多单词分隔显示?
解决VB.NET Hangman游戏的多单词分隔问题
嘿,别担心,这问题其实很容易搞定,而且完全不用彻底重构你的现有代码!咱们只需要在生成下划线的循环里加个简单判断,区分普通字符和空格就行。
你的现有代码会给每个字符(包括空格)都生成下划线,所以多单词时空格位置也变成了下划线。我们只需要遍历SecretWord的每个字符时,判断当前字符是不是空格:如果是空格,就输出空格来分隔单词;如果是普通字符,就继续输出下划线。
修改后的代码如下:
Public Class Form1 Dim SecretWord As String Dim WordLength As Integer Dim WordCount As Integer Dim Guesses As Integer = 0 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Label1.Text = Nothing SecretWord = TextBox1.Text WordLength = SecretWord.Length - 1 For position As Integer = 0 To WordLength ' 新增判断:检查当前字符是否为空格 If SecretWord(position) = " "c Then ' 如果是空格,输出三个空格(和下划线的间距对齐,视觉更协调) Label1.Text = Label1.Text & " " Else ' 非空格字符继续输出下划线 Label1.Text = Label1.Text & " _ " End If Next End Sub End Class
改动说明:
- 新增了
If SecretWord(position) = " "c Then判断," "c是VB.NET里表示字符型空格的写法 - 遇到空格时输出三个空格,和原来的
" _ "长度一致,保证单词间的间距和下划线的间距对齐,视觉上更美观 - 非空格字符完全保留你原来的下划线输出逻辑,没有改动原有代码结构
这样修改后,当你输入比如"Hello World"时,Label1里就会显示" _ _ _ _ _ _ _ _ _ _ ",完美实现多单词的分隔啦!
内容的提问来源于stack exchange,提问作者Lil Programmer
相关产品推荐
相关产品推荐

