从文件读取时的 C# 测试框操作

C# Test Box Manipulation when reading from a File

我正在尝试编写一个简单的游戏,我的程序在其中随机 select 字典中的单词并将其存储在文本 box/or 标签中? (不确定这部分)。然后我有另一个文本框,用户可以在其中输入他的猜测。

现在我想给用户一些hint.F或者举例这个词: 'game' 看起来像“_ a m _”或 'g _ _ e'。我对角色的放置方式没有偏好。

我已经编写了所有以前的代码,包括随机文件处理方法、所有计时器和计数器等。我只是停留在这部分。

程序经过以下代码: var 行 = File.ReadAllLines(@"LOCATION");<br> textBox3.Text = lines[new Random().Next(lines.Length)];

到select文件中的随机单词。但是,整个单词都显示在文本框 3 中,而不是像我希望的那样显示其中的一部分。我完全不知道如何进行。我在网上找不到类似的东西。

干杯, R

从文件中随机选择一个单词后,根据单词的长度,决定要隐藏多少个字符,然后随机替换这些字符。

像这样-

    public string GetPartialWord(string word)
    {
        if(string.IsNullOrEmpty(word))
        {
            return string.Empty;
        }
        char[] partialWord = word.ToCharArray();
        int numberOfCharsToHide = word.Length / 2;
        Random randomNumberGenerator = new Random();
        HashSet<int> maskedIndices = new HashSet<int>();
        for(int i=0;i<numberOfCharsToHide;i++)
        {
            int rIndex = randomNumberGenerator.Next(0, word.Length);
            while(!maskedIndices.Add(rIndex))
            {
                rIndex = randomNumberGenerator.Next(0, word.Length);
            }
            partialWord[rIndex] = '_';
        }
        return new string(partialWord);
    }

下面的代码将至少一半的字符替换为下划线。该代码接受一个单词并不断生成随机数,直到它用下划线替换了至少一半的字符。

public string ConvertToGuessWord(string word)
{
    var guessWord = word;
    int lastRandom = 0;
    do
    {
        Random rand = new Random();

        int thisRandom = 0;
        do
        {
            thisRandom = rand.Next(0, guessWord.Length);
        } while (lastRandom == thisRandom);

        guessWord = guessWord.Replace(guessWord[thisRandom], '_');

        lastRandom = thisRandom;
    } while (guessWord.Count(x => x == '_') < (word.Length / 2));

    return guessWord;
}