首页 > 其他 > 详细

Labyrinth

时间:2019-05-22 13:31:09      阅读:92      评论:0      收藏:0      [点我收藏+]
#include <bits/stdc++.h>
#include <windows.h>
#include <conio.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)

#define MIDOFSCREEN ((int)(screen_y/word_y*1.8))

using namespace std;

enum CFC
{
    FRed      =FOREGROUND_INTENSITY	|FOREGROUND_RED,
    FGreen    =FOREGROUND_INTENSITY	|FOREGROUND_GREEN,
    FBlue     =FOREGROUND_INTENSITY	|FOREGROUND_BLUE,
    FYellow   =FOREGROUND_INTENSITY	|FOREGROUND_RED		|FOREGROUND_GREEN,
    FPurple   =FOREGROUND_INTENSITY	|FOREGROUND_RED		|FOREGROUND_BLUE,
    FCyan     =FOREGROUND_INTENSITY	|FOREGROUND_GREEN	|FOREGROUND_BLUE,
    FGray     =FOREGROUND_INTENSITY,
    FWhite    =						 FOREGROUND_RED		|FOREGROUND_GREEN	|FOREGROUND_BLUE,
    FHighWhite=FOREGROUND_INTENSITY	|FOREGROUND_RED		|FOREGROUND_GREEN	|FOREGROUND_BLUE,
    FBlack    =0,
};
enum CBC
{
    BRed      =BACKGROUND_INTENSITY	|BACKGROUND_RED,
    BGreen    =BACKGROUND_INTENSITY	|BACKGROUND_GREEN,
    BBlue     =BACKGROUND_INTENSITY	|BACKGROUND_BLUE,
    BYellow   =BACKGROUND_INTENSITY	|BACKGROUND_RED		|BACKGROUND_GREEN,
    BPurple   =BACKGROUND_INTENSITY	|BACKGROUND_RED		|BACKGROUND_BLUE,
    BCyan     =BACKGROUND_INTENSITY	|BACKGROUND_GREEN	|BACKGROUND_BLUE,
    BWhite    =						 BACKGROUND_RED		|BACKGROUND_GREEN	|BACKGROUND_BLUE,
    BHighWhite=BACKGROUND_INTENSITY	|BACKGROUND_RED		|BACKGROUND_GREEN	|BACKGROUND_BLUE,
    BBlack    =0,
};
void cursor(int x,int y)
{
	HANDLE hout;
	COORD coord;
	coord.X = y;
	coord.Y = x;
	hout = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hout,coord);
}
void Updatit()
{
	system("cls");
	system("COLOR 07");
}
long long getSystemTime() {
        struct timeb t;
        ftime(&t);
        return 1000 * t.time + t.millitm;
}
COORD get_font_size()
{
    COORD font_size;
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    struct CONSOLE_FONT
    {
        DWORD index;
        COORD dim;
    } cfi;
    typedef COORD (WINAPI *PROCGETCONSOLEFONTSIZE)(HANDLE, DWORD);
    typedef BOOL (WINAPI *PROCGETCURRENTCONSOLEFONT)(HANDLE, BOOL, struct CONSOLE_FONT*);


    HMODULE hKernel32 = GetModuleHandle("kernel32");
    PROCGETCONSOLEFONTSIZE GetConsoleFontSize = (PROCGETCONSOLEFONTSIZE)GetProcAddress(hKernel32,"GetConsoleFontSize");
    PROCGETCURRENTCONSOLEFONT GetCurrentConsoleFont = (PROCGETCURRENTCONSOLEFONT)GetProcAddress(hKernel32,"GetCurrentConsoleFont");
    GetCurrentConsoleFont(handle, FALSE, &cfi);
    font_size = GetConsoleFontSize(handle, cfi.index); 
    return font_size;
}
string Title;
bool close = 1;
bool closing = 0;
const string space = " ";
int screen_x , screen_y , word_x , word_y;
string name_of_user[100] = {"Tourist-1502.","IMET"  ,"Creator","Beast-13","Ghost-X","Devil-END"};
string pass_of_user[100] = {"None"         ,"123456","123456" ,"123456"  ,"123456" ,"123456"};
int    pale_of_user[100] = {0              ,6       ,6        ,6         ,6        ,6};
void stopp()
{
	for (;;)
		if (_kbhit())
		{
			getch();
			return;
		}
}
void Capture_close()
{
	system("cls"),
	closing = 1,
	cursor(10,MIDOFSCREEN-10),
	printf("+-----------------+"),
	cursor(11,MIDOFSCREEN-10),
	printf("|You did something|"),
	cursor(12,MIDOFSCREEN-10),
	printf("+-----------------+"),
	cursor(13,MIDOFSCREEN-10) ,
	printf("+                 +");
	for (int j=1;j<=40; ++j)
	{
		int p = (j+16)%17;
		cursor(13,MIDOFSCREEN-9+p),
		putchar(‘ ‘);
		for (int i = j; i<=j+4; ++i)
			p = i%17,
			cursor(13,MIDOFSCREEN-9+p),
			putchar(‘-‘);
		Sleep(20);
	}
	exit(0);
}
bool ctrlhandler( DWORD fdwctrltype )
{
	switch (fdwctrltype)
	{
		case CTRL_C_EVENT:
		{
			if (!close)
				Capture_close();
			else
				return true;
		}
		case CTRL_CLOSE_EVENT:
		{
			if (!close)
			{
				Capture_close();
				return true;
			}
		}
    	default:
        	return false;
    }
}
void full_screen()
{
	SetConsoleOutputCP(936);
    HWND hwnd = GetForegroundWindow();
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    int cx = GetSystemMetrics(SM_CXSCREEN);
    int cy = GetSystemMetrics(SM_CYSCREEN);
    COORD size = get_font_size();
    word_x = size.X	,word_y = size.Y;
    screen_y = cy	,screen_x = cx;
	for (int j=0; j<1000; ++j)
		Title += space;
	int p = cx/size.X*0.9 + 4;
	Title[p + 1] = ‘A‘, 
	Title[p + 2] = ‘D‘, 
	Title[p + 3] = ‘C‘,
	Title[p + 4] = ‘J‘,
	Title[p + 5] = ‘_‘,
	Title[p + 6] = ‘B‘,
	Title[p + 7] = ‘e‘,
	Title[p + 8] = ‘t‘,
	Title[p + 9] = ‘a‘;
	const char* T = Title.data();
	SetConsoleTitle(T);
    char cmd[32]={0};
    sprintf(cmd, "MODE CON: COLS=%d LINES=%d", cx / size.X-1, cy / size.Y-5);
    system(cmd);
	HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);  
    DWORD mode;  
    GetConsoleMode(hStdin, &mode);  
    mode &= ~ENABLE_QUICK_EDIT_MODE;
//    mode &= ~ENABLE_INSERT_MODE;
//    mode &= ~ENABLE_MOUSE_INPUT;
    SetConsoleMode(hStdin, mode);
    SetWindowPos(hwnd, HWND_TOP, 0, 0, cx, cy, 0);
    SetConsoleCtrlHandler( (PHANDLER_ROUTINE) ctrlhandler, true );
    
    handle = GetStdHandle(STD_OUTPUT_HANDLE);
	CONSOLE_CURSOR_INFO CursorInfo;
	GetConsoleCursorInfo(handle, &CursorInfo);
	CursorInfo.bVisible = false;
//	CursorInfo.dwSize = 1;
	SetConsoleCursorInfo(handle, &CursorInfo);
}
void fastyper(string s)
{
	for (int i=0; s[i]!=‘\0‘; i++)
	{
		cout<<s[i];
		if (s[i]==‘ ‘) Sleep(1);
		else if (s[i-1]==‘ ‘) Sleep(4);
		else if (s[i]==‘a‘||s[i]==‘e‘||s[i]==‘i‘||s[i]==‘o‘||s[i]==‘u‘||s[i]==‘A‘||s[i]==‘E‘||s[i]==‘I‘||s[i]==‘O‘||s[i]==‘U‘)Sleep(4);
		else if (s[i]==‘\n‘) Sleep(1);
		else Sleep(3);
	}
}
void fastyper(string s, int line, int opt,int pl)
{
	for (int i=0; s[i]!=‘\0‘; i++)
	{
		if (opt)
			cursor(line,MIDOFSCREEN - s.length()/2+pl+i);
		cout<<s[i];
		if (s[i]==‘ ‘||s[i]==‘\n‘) Sleep(1);
		else if (s[i-1]==‘ ‘) Sleep(4);
		else if (s[i]==‘a‘||s[i]==‘e‘||s[i]==‘i‘||s[i]==‘o‘||s[i]==‘u‘||s[i]==‘A‘||s[i]==‘E‘||s[i]==‘I‘||s[i]==‘O‘||s[i]==‘U‘)Sleep(4);
		else  Sleep(3);
	}
}
void Fried_Chicken_Typer(string s,int line,int opt,int pl)
{
	if (opt)
		cursor(line,MIDOFSCREEN - s.length()/2+pl);
	for (int i=0; s[i]!=‘\0‘; i++)
	{
		cout<<s[i];
		if (s[i]==‘ ‘||s[i]==‘\n‘) ;
		else if (s[i-1]==‘ ‘) Sleep(1);
		else if (s[i]==‘a‘||s[i]==‘e‘||s[i]==‘i‘||s[i]==‘o‘||s[i]==‘u‘||s[i]==‘A‘||s[i]==‘E‘||s[i]==‘I‘||s[i]==‘O‘||s[i]==‘U‘)Sleep(1);
		else  Sleep(1);
	}
}
void Fried_Chicken_Typer(int line,int x,string s)
{
	for (int i=0; s[i]!=‘\0‘; i++)
	{
		cursor(line,x+i),
		cout<<s[i];
		if (s[i]==‘ ‘||s[i]==‘\n‘) ;
		else if (s[i-1]==‘ ‘) ;
		else if (s[i]==‘a‘||s[i]==‘e‘||s[i]==‘i‘||s[i]==‘o‘||s[i]==‘u‘||s[i]==‘A‘||s[i]==‘E‘||s[i]==‘I‘||s[i]==‘O‘||s[i]==‘U‘)Sleep(1);
		else  Sleep(1);
	}
}
void ban(long long p)
{
	long long now = (long long)getSystemTime();
	char ch;
	while (getSystemTime()-now < p)
		if (_kbhit())
			ch = getch();
}
int Whoo;
string Whooo;
void Del(int s,int p)
{
	cursor(s,0);
	while (p--)
		cout<<" ",Sleep(2);
	cursor(s,0),Sleep(70);
}
inline void Loading(int k,int t)
{
	fastyper("-  Loading F",k,1,-3);
	printf("%d",k);
	for (int i=0; i<3; ++i)
		cursor(k,MIDOFSCREEN+5+i),
		cout<<".",Sleep(t);
	cursor(k,MIDOFSCREEN+8),
	fastyper(" -");
}
inline bool In_it(int p1,int p2,int len)
{
	POINT p;
	GetCursorPos(&p);
	return ((p.x >= (p2+1)*word_x)&&(p.x <= (p2+len+1)*word_x)&&(p.y >= (p1+2)*word_y)&&(p.y <= (p1+3)*word_y));
}
void SC(CFC foreColor=FWhite, CBC backColor=BBlack)
{
	HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(handle, foreColor | backColor);
}
inline void Click(int p1,int p2,string st,string ss)
{
	POINT p;
	int Flag = 0;
	while(1)
	{
		GetCursorPos(&p);
		if ((p.x >= (p2+1)*word_x)&&(p.x <= (p2+st.length()+1)*word_x)&&(p.y >= (p1+2)*word_y)&&(p.y <= (p1+3)*word_y+1))
		{
			if (KEY_DOWN(VK_LBUTTON))
				break;
			if (Flag)
				cursor(p1,p2),
				Fried_Chicken_Typer(p1,p2,ss),
				Flag = 0;
		}
		else
		{
			if (!Flag)
				cursor(p1,p2),
				Fried_Chicken_Typer(p1,p2,st),
				Flag = 1;
		}
		if ((p.x >= (p2+1)*word_x)&&(p.x <= (p2+st.length()+1)*word_x)&&(p.y >= (p1+2)*word_y)&&(p.y <= (p1+3)*word_y+2)&&(KEY_DOWN(VK_LBUTTON)))
			break;
	}
}
inline void loading()
{
	Updatit();
	SC((CFC)(FHighWhite),(CBC)(BBlack));
	cursor(2,MIDOFSCREEN + 19);
	printf("< You Can not Exit >");
	for (int i=0; i<screen_y/word_y-3; ++i)
	{
		SC((CFC)(FBlue),(CBC)(BBlack));
		cursor(i,MIDOFSCREEN-50);
		putchar(‘|‘);
		SC((CFC)(FRed),(CBC)(BBlack));
		cursor(i,MIDOFSCREEN-44);
		putchar(‘|‘);
	}
	SC((CFC)(FWhite),(CBC)(BBlack));
	fastyper("-  Loading begin  -",0,1,0);
	Loading(1,111);
	Loading(2,33);
	Loading(3,444);
	fastyper("- Loading Main    -",4,1,0);
	char pd[4]={‘-‘,‘\\‘,‘|‘,‘/‘};
	for (int i=0; i<53; ++i)
		cursor(4,MIDOFSCREEN+6),putchar(pd[i%4]),Sleep(100);
	Fried_Chicken_Typer("- <                                                  > -",5,1,0);
	for (int i=1; i<=100; ++i)
	{
		cursor(5, MIDOFSCREEN-(i-1)%25-2);
		if ((i>00) && (i<=25))	cout<<"<-";
		if ((i>25) && (i<=50))	cout<<"<=";
		if ((i>50) && (i<=75))	cout<<"<-";
		if ((i>75) && (i<=100))	cout<<"< ";
		cursor(5,MIDOFSCREEN+(i-1)%25);
		if ((i>00) && (i<=25))	cout<<"->";
		if ((i>25) && (i<=50))	cout<<"=>";
		if ((i>50) && (i<=75))	cout<<"->";
		if ((i>75) && (i<=100))	cout<<" >";
		cursor(5,MIDOFSCREEN-1);
		if (i<10)
			cout<<"0";
		cout<<i<<"%";
		Sleep(40+rand()%3);
	}
	Sleep(100);
	fastyper("Loading Archive:<   %>",6,1,0);
	for (int i=0; i<51; ++i)
	{
		cursor(6,MIDOFSCREEN+6);
		if (i<5) cout<<"0";
		if (i<50) cout<<"0"; 
		cout<<(i<<1);
		Sleep(23);
	}
	fastyper("- Warning<134> - :Load archive failed.",7,1,0);
	fastyper("- [ Press the button to find a solution ] -",8,1,0);
	Click(8,MIDOFSCREEN-19,"[ Press the button to find a solution ]","[=====================================]");
	cursor(9,0);
	fastyper("         Finding solutions.              ",8,1,0);
	cursor(8,MIDOFSCREEN+7);
	for (int i=0; i<5; ++i)
		fastyper("."),Sleep(100);
	fastyper("- Solutions have been found.(Reload the Archive) -",9,1,0);
	fastyper("Reloading Archive:<   %>",10,1,0);
	for (int i=0; i<51; ++i)
	{
		cursor(10,MIDOFSCREEN+7);
		if (i<5) cout<<"0";
		if (i<50) cout<<"0";
		cout<<(i<<1);
		Sleep(23);
	}
	fastyper("Successful Loading Archives!",11,1,0);
	fastyper("Loading end.",12,1,0),Sleep(70);
	fastyper("Click the button below to continue.",13,1,0),Sleep(70);
	ban(30);
	Fried_Chicken_Typer(14,MIDOFSCREEN-7,"> [ Continue ] <");
	POINT p;
	int Flag = 0,click = 0;
	int spd = 0;
	int df = 0;
	while(1)
	{
		GetCursorPos(&p);
		click = KEY_DOWN(VK_LBUTTON);
		if ((p.x >= (MIDOFSCREEN-5)*word_x)&&(p.x <= (MIDOFSCREEN+7)*word_x)&&(p.y >= 16*word_y)&&(p.y <= 17*word_y+1))
		{
			if (KEY_DOWN(VK_LBUTTON) | click)
				break;
			if (Flag)
				Fried_Chicken_Typer(14,MIDOFSCREEN-7,"> [==========] <"),
				Flag = 0;
		}
		else
		{
			if (!Flag)
				Fried_Chicken_Typer(14,MIDOFSCREEN-7,"> [ Continue ] <"),
				Flag = 1;
		}
		df ++;
		if (df%40 == 0)
			spd = (spd+1) % 24000;
		df%= 40;
		if (spd % 2000 == 0)
		{
			if (0 <spd/2000&&spd/2000< 5)
			{
				cursor(14,MIDOFSCREEN-12+spd/2000);
				putchar(‘-‘);
				cursor(14,MIDOFSCREEN+13-spd/2000);
				putchar(‘-‘);
				cursor(14,MIDOFSCREEN+6);
			}
			if (7 <spd/2000&&spd/2000< 12)
			{
				cursor(14,MIDOFSCREEN-19+spd/2000);
				putchar(‘=‘);
				cursor(14,MIDOFSCREEN+20-spd/2000);
				putchar(‘=‘);
				cursor(14,MIDOFSCREEN+6);
				if (spd/2000 == 11)
					spd = 1;
			}
		}
		click |= KEY_DOWN(VK_LBUTTON);
		if ((p.x >= (MIDOFSCREEN-5)*word_x)&&(p.x <= (MIDOFSCREEN+7)*word_x)&&(p.y >= 16*word_y)&&(p.y <= 17*word_y+1)&&click)
			break;
	}
	for (int i=0; i<=14; ++i)
	{
		int d=21;
		if (i == 2)
			d = 40;
		else if (i == 5 || i == 9 || i==13)
			d = 29;
		else if (i <= 4)
			d = 10;
		for (int j=0; j<=d; ++j)
			cursor(i,MIDOFSCREEN-j),putchar(‘ ‘),
			cursor(i,MIDOFSCREEN+j),putchar(‘ ‘),Sleep(2);
	}
}
inline void Change_user()
{
	int cs=0;
	close = 1;
	label_1:
	if ((cs+1)%3==0)
	{
		fastyper("Waiting...",1,1,0);
		fastyper("Refill F1",2,1,-2);
		for (int i = 0; i<3; ++i)
			putchar(‘.‘),Sleep(3000);
		system("cls");
	}
	fastyper("Select a User.(Select by pressing the target name)",0,1,0);
	Sleep(100);
	SC((CFC)(FGray),(CBC)(BBlack));
	Fried_Chicken_Typer("-1 :[    SYSTEM     ]  ------------  System ",1,1,0);
	SC((CFC)(FWhite),(CBC)(BBlack));
	Fried_Chicken_Typer(" 0 :[ Tourist-1502. ]  -------------  Guest ",2,1,0);
	Fried_Chicken_Typer(" 1 :[     IMET_     ]  -----  Administrator ",3,1,0);
	Fried_Chicken_Typer(" 2 :[    Creator    ]  -----  Administrator ",4,1,0);
	Fried_Chicken_Typer(" 3 :[   Beaster13   ]  --------  Power User ",5,1,0);
	Fried_Chicken_Typer(" 4 :[    Ghost-X    ]  --------  Power User ",6,1,0);
	Fried_Chicken_Typer(" 5 :[   Devil-END   ]  --------------  User ",7,1,0);
	string BName[100]={"[ Tourist-1502. ]","[     IMET_     ]","[    Creator    ]","[   Beaster13   ]","[    Ghost-X    ]","[   Devil-END   ]","                 "};
	int Last = -1;
	bool FLAG = 1;
	int Flag[100] = {0,0,0,0,0,0,0,0,0,15,0,0,0};
	while (FLAG && !closing)
	{
		POINT p;
		GetCursorPos(&p);
		bool CLICK = 0;
		if (KEY_DOWN(VK_LBUTTON))
			CLICK = 1;
		int xx = p.x-(MIDOFSCREEN-23)*word_x, yy=p.y-2*word_y,dec=50;
		if ((xx >= 5*word_x)&&(xx < 22*word_x))
			if ((yy >= 2*word_y)&&(yy < 8*word_y))
			{
				if (CLICK)
					FLAG = 0,Whoo = yy/word_y-2,Whooo = name_of_user[yy/word_y-2];
				if (Last == yy/word_y)
					dec = 25-Flag[Last];
				if (Flag[Last = yy/word_y] < 15)
				{
					cursor(Last,++Flag[Last] + MIDOFSCREEN - 18);
					putchar(‘=‘);
				}
			}
			else
				Last = -1;
		else
			Last = -1;
		for (int i=0; i<9; ++i)
			if ((i != Last)&&(Flag[i]>0))
			{
				cursor(i,Flag[i]-- + MIDOFSCREEN - 18);
				putchar(BName[i-2][Flag[i]+1]);
			}
		Sleep(dec);		 	
	}
	while (closing);
	for (int i=0; i<=14; ++i)
	{
		int d=25;
		for (int j=0; j<=d; ++j)
			cursor(i,MIDOFSCREEN-j),putchar(‘ ‘),
			cursor(i,MIDOFSCREEN+j),putchar(‘ ‘),Sleep(2);
	}
	if (Whooo == "Tourist-1502.")
	{
		fastyper("Hi,Tourist-1502.",1,1,0);
		fastyper("Successful login!",2,1,0);
		fastyper("[ Continue ]",3,1,0);
		ban(30);
		Click(3,MIDOFSCREEN - 6,"[ Continue ]","[==========]");
		for (int i=1; i<=3; ++i)
		{
			int d = 10;
			for (int j=0; j<=d; ++j)
				cursor(i,MIDOFSCREEN-j),putchar(‘ ‘),
				cursor(i,MIDOFSCREEN+j),putchar(‘ ‘),Sleep(2);
		}
		return;
	}
	while (closing);
	fastyper("Make sure it‘s you.",1,1,0);
	fastyper("I‘ll make sure your PIN is secure.",2,1,0);
	fastyper("+                                +",3,1,0);
	fastyper("  PIN: _ _ _ _ _ _ _ _ _ _ _ _ _  ",4,1,0);
	fastyper("+                   [ back ]     +",5,1,0);
	fastyper("Enter PIN above.",6,1,0);
	ban(100);
	int now = 0;
	int x = 2,y = 0,bx,by;
	char ch;
	bool flag = 0,FFag = 0;
	bool ffff = 0;
	bool Yess[123];
	memset(Yess,0,sizeof(Yess));
	for (;;)
	{
		while (!_kbhit())
		{
			cursor(x+1,y+MIDOFSCREEN-17);
			if (x==2 && !y)			cout<<"+",bx= 0,by= 1,flag=!flag;
			else if (x==2 && y==33)	cout<<"+",bx= 1,by= 0;
			else if (x==4 && y==33)	cout<<"+",bx= 0,by=-1;
			else if (x==4 && !y)	cout<<"+",bx=-1,by= 0;
			else if (x==2 || x==4)	
			{
				if (!(x == 4 && (y>19 && y<28)))
					cout<<(flag?"-":" ");
			}
			else cout<<(flag?"|":" ");
			x+=bx,y+=by;
			if (In_it(5,MIDOFSCREEN+3,8))
			{
				if (KEY_DOWN(VK_LBUTTON))
				{
					system("cls");
					fastyper("Re-select the user");
					for (int i = 0; i<3; ++i)
						fastyper("."),Sleep(200);
					ban(10);
					goto label_1;
				}
				if (FFag)
					fastyper("[======]",5,1,7),FFag = 0;
			}
			else if (!FFag)
				fastyper("[ back ]",5,1,7),FFag = 1;
			Sleep(60);
		}
		ch = getch();
		if (ch == 8 && now>0)
		{
			ffff = Yess[--now];
			cursor(4,MIDOFSCREEN+now*2-10);
			putchar(‘_‘);
		}
		else if (ch>=32 && ch<=128)
		{
			ffff |= (ch) != pass_of_user[Whoo][now];
			Yess[++now] = ffff;
			cursor(4,MIDOFSCREEN+now*2-12);
			putchar(‘*‘);
			if (now == pale_of_user[Whoo])
			{
				if (ffff)
				{
					fastyper("You are not ",6,1,-(int)(Whooo.length()/2));
					fastyper(Whooo);
					fastyper(".");
					fastyper("Re-select Users.",7,1,0);
					ban(100);
					fastyper("[ Continue ]",8,1,0);
					Click(8,MIDOFSCREEN-6,"[ Continue ]","[==========]");
					cs++;
					goto label_1;
				}
				else
				 	break;
			}
		}
	}
	ban(30);
	fastyper("Successful login!",6,1,0);
	fastyper("[ Continue ]",7,1,0);
	Click(7,MIDOFSCREEN-6,"[ Continue ]","[==========]");
	for (int i=1; i<=7; ++i)
	{
		int d = 20;
		for (int j=0; j<=d; ++j)
			cursor(i,MIDOFSCREEN-j),putchar(‘ ‘),
			cursor(i,MIDOFSCREEN+j),putchar(‘ ‘),Sleep(2);
	}
}
void Heoolw()
{
	fastyper("- Welcome back, ",1,1,-(Whooo.length()/2)-1);
	fastyper(Whooo);
	fastyper(" -");
	while (1)
	{
		cursor(3,MIDOFSCREEN-14);
		cout<<"Data : ";
		time_t now = time(0);
		char* dt = ctime(&now);
		cout<<dt;
		Sleep(600);
		if (_kbhit())
			break;
	}
	for (int i=1; i<=4; ++i)
	{
		int d = 40;
		for (int j=0; j<=d; ++j)
			cursor(i,MIDOFSCREEN-j),putchar(‘ ‘),
			cursor(i,MIDOFSCREEN+j),putchar(‘ ‘),Sleep(2);
	}
}
void Setmid(int top, int left, SHORT width, SHORT height)
{
    COORD size;
    HWND hwnd = GetForegroundWindow();
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD font_size = get_font_size();

    cursor(0,0);
    width = width < GetSystemMetrics(SM_CXMIN) ? width : GetSystemMetrics(SM_CXMIN);
    height = height < GetSystemMetrics(SM_CYMIN) ? height : GetSystemMetrics(SM_CYMIN);
    size.X = width;
    size.Y = height;

    SetConsoleScreenBufferSize(handle, size);
    SetWindowPos(hwnd, HWND_TOP, top, left, size.X * font_size.X, size.Y * font_size.Y, 0);
}
void setoADCJ()
{
	fastyper("- Welcome to ADCJ - Beta version -",1,1,0);
	fastyper("- Do you know all the operations of ADCJ? -",2,1,0);
	fastyper("- [ Yes ] or [ No ] -",3,1,0);
	bool FY = 0, FN = 0;
	int Flag = 0;
	while (1)
	{
		POINT p;
		GetCursorPos(&p);
		bool CLICK = 0;
		if (KEY_DOWN(VK_LBUTTON))
			CLICK = 1;
		if (p.y>=5*word_y && p.y<6*word_y-2)
		{
			if (((p.x>(MIDOFSCREEN-7)*word_x)&&(p.x<(MIDOFSCREEN)*word_x-3)))
			{
				if (CLICK || KEY_DOWN(VK_LBUTTON))
				{
					Flag = 1;
					break;
				}
				if (!FY)
					Fried_Chicken_Typer(3,MIDOFSCREEN-8,"[=====]"),
					FY = 1;
				if (FN)
					Fried_Chicken_Typer(3,MIDOFSCREEN+3,"[ No ]"),
					FN = 1;
			}
			else if ((p.x>(MIDOFSCREEN+4)*word_x)&&(p.x<(MIDOFSCREEN+10)*word_x-3))
			{
				if (CLICK || KEY_DOWN(VK_LBUTTON))
				{
					Flag = 0;
					break;
				}
				if (FY)
					Fried_Chicken_Typer(3,MIDOFSCREEN-8,"[ Yes ]"),
					FY = 1;
				if (!FN)
					Fried_Chicken_Typer(3,MIDOFSCREEN+3,"[====]"),
					FN = 1;
			}
			else
			{
				if (FY)
					Fried_Chicken_Typer(3,MIDOFSCREEN-8,"[ Yes ]"),
					FY = 0;
				if (FN)
					Fried_Chicken_Typer(3,MIDOFSCREEN+3,"[ No ]"),
					FN = 0;
			}
		}
		else
		{
			if (FY)
				Fried_Chicken_Typer(3,MIDOFSCREEN-8,"[ Yes ]"),
				FY = 0;
			if (FN)
				Fried_Chicken_Typer(3,MIDOFSCREEN+3,"[ No ]"),
				FN = 0;
		}
	}
	if (!Flag)
	{
		fastyper("Oh,shit",4,1,0);
		Sleep(40);
		cursor(4,MIDOFSCREEN);
		fastyper("****");
		fastyper("Please Wait A Minute",5,1,0);
		Sleep(300);
		fastyper("Loading Teaching Module",6,1,0);
		Sleep(100);
		fastyper("+          +",7,1,0);
		for (int i=1; i<=10; ++i)
			cursor(7,MIDOFSCREEN-6+i),
			putchar(‘-‘),Sleep(200);
		Sleep(300);
		fastyper("Okay, I will A button pops up now.",8,1,0);
		Click(9,MIDOFSCREEN-4,"[ Agree ]","[=======]");
		
	}
	if (!Flag)
	{
		fastyper("+---------------+",5,1,-1);
		fastyper("| OPEN THE DOOR |",6,1,-1);
		fastyper("|       TO      |",7,1,-1);
		fastyper("|  A NEW WORLD  |",8,1,-1);
		fastyper("+---------------+",9,1,-1);
		while (1)
		{
			POINT p;
			GetCursorPos(&p);
			if (p.x/word_x>MIDOFSCREEN-8&&p.x/word_x<MIDOFSCREEN+7&&p.y/word_y>7&&p.y/word_y<11)
				break;
		}
	}
	for (int i=1; i<=10; ++i)
	{
		int d = 30;
		for (int j=0; j<=d; ++j)
			cursor(i,MIDOFSCREEN-j),putchar(‘ ‘),
			cursor(i,MIDOFSCREEN+j),putchar(‘ ‘),Sleep(2);
	}
	SC((CFC)(FBlack),(CBC)(BHighWhite));
	for (int i=0; i<=40; ++i)
	{
		cursor(i,0);
		for (int j=1; j<=MIDOFSCREEN-30; ++j)
			putchar(‘ ‘);
		cursor(i,MIDOFSCREEN+30);
		for (int j=MIDOFSCREEN+30; j<=MIDOFSCREEN*2-4; ++j)
			putchar(‘ ‘);
	}
	for (int i = 41; i<=screen_y/word_y-5; ++i)
	{
		cursor(i,0);
		for (int j=0; j<=MIDOFSCREEN*2-4; ++j)
			putchar(‘ ‘);
	}
	while (1);
}
void De()
{
	HDC hDC =  ::GetDC(HWND(NULL));               // 得到屏幕DC  
	int x  =  ::GetDeviceCaps(hDC,HORZRES);       // 宽  
	int y  =  ::GetDeviceCaps(hDC,VERTRES);        // 高   
	::ReleaseDC(HWND(NULL),hDC);                  // 释放DC
	printf("%d %d\n",x,y);
}
int main()
{
	full_screen();
	srand(time(0));
//	loading();
//	Change_user();
//	Heoolw();
//	setoADCJ();
	De(); 
	return 0;
}

  

Labyrinth

原文:https://www.cnblogs.com/ADCJ-IMET/p/10905333.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!