Скрипт не может обнаружить буквы «d», «e», «s» или «u» (Windows приложение Forms с использованием C# и. NET framework) - PullRequest
0 голосов
/ 12 апреля 2020

Здесь немного странно.

Я делаю небольшое простое приложение для палача, используя Windows Forms, с. NET framework, предоставляемым Visual Studio, и столкнулся с необъяснимым проблема.

У меня есть функция, которая принимает догадки пользователей - строка с именем letter в приведенном ниже скрипте. Он сравнивает это со словом угадать, и если слово содержит букву, он перебирает переменную display - строку подчеркивания, с одним пробелом после каждого. Если пользователь правильно угадывает букву, соответствующее подчеркивание заменяется буквой. Если пользователь неверен, его предположение добавляется к тексту в метке guesses, а если буква уже присутствует в этой метке, она игнорируется. По сути, моя проблема заключается в следующем:
Этот алгоритм отлично работает для всех букв, кроме «d», «e», «s» и «u». Я попробовал несколько разных слов, перезапустил Visual Studio, и, похоже, ничего не работает - письмо не добавляется в список догадок, если оно неверно, и не добавляется в текст, который будет отображаться, если он верен. Это только второй раз, когда я задаю вопрос здесь, и в прошлый раз я сделал несколько ошибок - любая конструктивная критика будет полезна. Спасибо! :)

Код (только функция «Угадай», остальные не показаны, хотя доступны по запросу):

private void Guess(string letter)
{
    if (GuessedDisplay.Text.Contains(letter))
    {
        GuessBox.Text = "";
        return;
    }

    if (word.Contains(letter))
    {
        string toDisplay = "";
        for (int i = 0; i < displayed.Length; i+=2)
        {
            if (word[i/2].ToString() == letter)
            {
                toDisplay += letter + " ";
            }
            else
            {
                toDisplay += displayed[i] + " ";
            }
        }
        displayed = toDisplay;
    }
    else
    {
        stage += 1;
        GuessedDisplay.Text += "\n" + letter;
    }

    GuessBox.Text = "";
    UpdateWindow();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...