文字显示效果

2024-J-W010 2025-09-05 15:01:43

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 条回复

j27eGU

第600个文章!

j27eGU
j27eGU
j27eGU
wpx001

%%%

SHY

有实力%%%%%%%%%%%%

SHY

???

luo_offi_gu_cial

%%%

Holmium_Oxide

sto SHY orz

wangjunyi2013

%%%