s
数组是要显示的文字,可以多行,行之间用 \n
隔开。
灵感来自于 SHY
主页的代码,感谢 SHY
大佬。
#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
const char s[] = "THANK SHY.\nWPXOJ WPXCO!";
void dispC(char c, const string& prefix) {
system("cls");
cout << prefix + c << endl;
Sleep(1);
}
int main() {
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_CURSOR_INFO info;
GetConsoleCursorInfo(handle, &info);
info.bVisible = 0;
SetConsoleCursorInfo(handle, &info);
string a;
for (int k = 0; k < sizeof(s); k++) {
char curr = s[k];
int start;
if (curr == '\n') {
start = 9;
}
else if (isspace(curr)) {
start = 31;
}
else if (isdigit(curr)) {
start = 47;
}
else if (islower(curr)) {
start = (curr > 'm') ? 122 : 96;
}
else if (isupper(curr)) {
start = (curr > 'M') ? 90 : 64;
}
else {
start = 31;
}
if ((islower(curr) && curr > 'm') || (isupper(curr) && curr > 'M')) {
for (int i = start; i >= curr; i--) {
dispC(i, a);
}
a.push_back(curr);
}
else {
for (int i = start; i <= curr; i++) {
dispC(i, a);
}
a.push_back(curr);
}
}
return 0;
}
共 20 条回复
第600个文章!
%%%
有实力%%%%%%%%%%%%
???
%%%
sto SHY orz
%%%