Спасибо, что нашли время прочитать этот вопрос!
Информация
У меня есть проект, над которым я работаю, используя Dev-C ++ в качестве IDE и Windows в качестве операционной система. Поскольку сложность проекта ограничена из-за ограничений размера и текущих знаний, я бы предпочел избегать использования GetAsyncKeyState
и многопоточности, если не существует достаточно простого (менее 10 строк) подхода, который я мог бы использовать.
Main Выпуск
Моя программа в настоящее время отображает текст, используя функцию Text
, используя строки и выводя их в окно консоли. Я хочу реализовать функцию, которая позволяла бы пользователю нажимать клавишу и позволять печатать текст, не дожидаясь, пока функция прочитает всю строку.
Пример
«Добро пожаловать в ...» [пользователь нажимает пробел, пока текст медленно отображается символ за символом]
«Добро пожаловать в мою программу! Это было разработано мной! [отображается вся строка]
Код
void Text(string input)
{
int x = 0;
for(int i = 0; i <= 3; i++) //decides when to stop running based on number of strings
{
while (input[x] != '\0')
{
if(input[x] == '.' || input[x] == '!')
{
cout << input[x];
Sleep(375);
cout << " ";
x++;
}
else if(input[x] == '*')
{
Sleep(375);
cout << endl;
x++;
}
else if(input[x] == '~')
{
Sleep(2000);
system("CLS");
x++;
}
else
{
cout << input[x];
Sleep(75);
x++;
}
}
}
}
Если требуется какая-либо дополнительная информация, оставьте комментарий ниже! Еще раз спасибо за ваше время.