Привет, ребята, у меня есть еще один вопрос, поэтому я работаю над RPG, и я пытаюсь использовать текст типа игры Pokemon, из-за чего появляется одна буква. Вот мой код:Отложенный текст (требуется более эффективная отсрочка) C++
#include <iostream>
#include <string>
#include <windows.h>
#include <sys/types.h>
using namespace std;
string name;
VOID WINAPI Sleep(
_In_ DWORD dwMilliseconds
);
void pushX(int num) {
for (int i = 0;i<num;i++)
cout << " ";
}
void main() {
system("cls");
cout << "H";
Sleep(50);
cout << "e";
Sleep(50);
cout << "l";
Sleep(50);
cout << "l";
Sleep(50);
cout << "o";
Sleep(50);
cout << ",";
Sleep(50);
cout << " ";
Sleep(50);
cout << "W";
Sleep(50);
cout << "e";
Sleep(50);
cout << "l";
Sleep(50);
cout << "c";
Sleep(50);
cout << "o";
Sleep(50);
cout << "m";
Sleep(50);
cout << "e";
Sleep(50);
cout << " ";
Sleep(50);
cout << "T";
Sleep(50);
cout << "o";
Sleep(50);
cout << " ";
Sleep(50);
cout << "T";
Sleep(50);
cout << "h";
Sleep(50);
cout << "e";
Sleep(50);
cout << " ";
Sleep(50);
cout << "G";
Sleep(50);
cout << "a";
Sleep(50);
cout << "m";
Sleep(50);
cout << "e";
Sleep(50);
cout << "!\n";
system("Pause");
system("cls");
Sleep(50);
cout << "P";
Sleep(50);
cout << "l";
Sleep(50);
cout << "e";
Sleep(50);
cout << "a";
Sleep(50);
cout << "s";
Sleep(50);
cout << "e";
Sleep(50);
cout << " ";
Sleep(50);
cout << "T";
Sleep(50);
cout << "e";
Sleep(50);
cout << "l";
Sleep(50);
cout << "l";
Sleep(50);
cout << " ";
Sleep(50);
cout << "M";
Sleep(50);
cout << "e";
Sleep(50);
cout << " ";
Sleep(50);
cout << "Y";
Sleep(50);
cout << "o";
Sleep(50);
cout << "u";
Sleep(50);
cout << "r";
Sleep(50);
cout << " ";
Sleep(50);
cout << "N";
Sleep(50);
cout << "a";
Sleep(50);
cout << "m";
Sleep(50);
cout << "e";
Sleep(50);
cout << "!\n>> ";
cin >> name;
system("cls");
Sleep(50);
cout << "H";
Sleep(50);
cout << "e";
Sleep(50);
cout << "l";
Sleep(50);
cout << "l";
Sleep(50);
cout << "o";
Sleep(50);
cout << ",";
Sleep(50);
cout << " ";
Sleep(50);
cout << name;
Sleep(50);
cout << "!\n";
system("pause");
return;
}
И это явно неэффективно. Это делает работу, но слишком много строк кода. Мне также не нужна только одна строка кода, которая работает навсегда. Я ищу, может быть, функцию, которая находит всякий раз, когда я кладу cout, и делает каждую букву на удалении 0,50 секунды или Sleep (50); спасибо за помощь U
Обычно игры делают в непрерывном [игровом цикле] (http://gameprogrammingpatterns.com/game-loop.html), где бы каждый символ текста по расписанию, чтобы показать на несколько кадров, чтобы создать внешний вид «замедленного текста». –
Используйте цикл for для итерации по массиву символов – awiebe