延迟文本(需要更有效地延迟)C++



嘿伙计们,我还有另一个问题,所以我正在制作RPG,我正在尝试使用口袋妖怪游戏类型的文本,一次弹出一个字母。这是我的代码:

#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 并使每个字母出现在 .050 秒或 Sleep(50( 的 deley 上时,它就会找到;感谢您的帮助 U

void pokeprint(char* s){
      int N = strlen(s);
      system("cls");
      for(int i=0; i<N;i++)
      {
       Sleep(50);
       cout << s[i];
      }
      cout << "n";
      system("Pause");
      system("cls");
}

最新更新