C++ 实用手写函数库【可以写一些小游戏】
实用函数库,我无聊时会找一些神奇的东西,只是对我来说,因为我太弱了,dalao们会的我都不会QAQ。
函数库无需编译,只要放在你要用的目录下就可以了,然后include “函数名.h”。
1 #include <cstdio> 2 #include <conio.h> 3 #include <cstdlib> 4 #include <cstring> 5 #include <fstream> 6 #include <iostream> 7 #include <windows.h> 8 #include <algorithm> 9 #define REP(i,a,b) for (int i=(a);i<=(b);i++) 10 #define PER(i,a,b) for (int i=(a);i>=(b);i--) 11 #define max(x,y) ((x)<(y)?(y):(x)) 12 #define min(y,x) ((x)<(y)?(x):(y)) 13 #define MEM(a,b) memset(a,(b),sizeof(a)) 14 #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)//判断这个键是否按下 15 #define KEY_UP(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 0 : 1)//判断这个键是否弹起 16 #define KEY_EVERY(lpkeyState) GetKeyboardState(lpKeyState)//获得所有的256个键(键盘按键、鼠标按键等等)的状态,lpKeyState是指向一个256bit的数组,存放所有键的状态。 17 #define KEY_NOW(nVirtKey) GetKeyState(nVirtKey)//用于判断nVirtKey的状态。用返回值的最高位表示,最高位为1表示当前键处于down的状态;最高位为0当前键处于up状态。此函数从消息队列中读取消息进行处理。 18 #define setcolor(x) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),x)//设置颜色 19 #define getkey(x) GetAsyncKeyState(x) 20 #define GetWindow() GetForegroundWindow();//得到窗口信息 21 /* 22 鼠标左键 : MOUSE_MOVED 23 鼠标右键 :MOUSE_EVENT 24 鼠标滚轮 : MOUSE_WHEELED 25 MK_CONTROL当CTRL键按下时。 26 MK_LBUTTON当鼠标左键按下时。 27 MK_MBUTTON当鼠标中键按下时。 28 MK_RBUTTON当鼠标右键按下时. 29 MK_SHIFT当SHIFT按下时。 30 */ 31 using std::cin; 32 using std::cout; 33 using std::endl; 34 int brand(); 35 void GOTO(int x,int y); 36 int brand(){return (rand()<<16)|(rand()<<1)|(rand()&1);} 37 void bsrand(){srand(GetTickCount());} 38 void cls(){system("cls");} 39 void retr(){//退出程序 40 HWND hWnd=GetForegroundWindow(); 41 ShowWindow(hWnd,SW_HIDE); 42 exit(0); 43 } 44 void Window_Hide(HWND hWnd){ShowWindow(hWnd,0);}//隐藏窗口 45 void Window_Show(HWND hWnd){ShowWindow(hWnd,1);}//显示窗口 46 int getmouse_y(){//获取鼠标在屏幕中x的位置 47 POINT pt; 48 GetCursorPos(&pt); 49 return pt.x; 50 } 51 int getmouse_x(){//获取鼠标在屏幕中y的位置 52 POINT pt; 53 GetCursorPos(&pt); 54 return pt.y; 55 } 56 void setmouse(int y,int x){SetCursorPos(x,y);}//设置鼠标在屏幕中的位置 57 void click_left(){//鼠标左键点击 58 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0); 59 Sleep(5);//要留给某些应用的反应时间 60 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0); 61 } 62 void click_right(){//鼠标右键点击 63 mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0); 64 Sleep(5); 65 mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0); 66 } 67 void GOTO(int x,int y){//将光标移动到屏幕中的位置 68 CONSOLE_SCREEN_BUFFER_INFO csbiInfo; 69 HANDLE hConsoleOut; 70 hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE); 71 GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo); 72 csbiInfo.dwCursorPosition.Y = x; 73 csbiInfo.dwCursorPosition.X = y; 74 SetConsoleCursorPosition(hConsoleOut,csbiInfo.dwCursorPosition); 75 } 76 /* 77 附录1:(COLOR) 78 <span style="white-space:pre"> </span>字 79 1 深蓝色 80 2 深绿色 81 3 深青色 82 4 深红色 83 5 深粉色 84 6 黄色 85 7 深白色 86 8 灰色 87 9 浅蓝色 88 10 浅绿色 89 11 浅青色 90 12 浅红色 91 13 浅粉色 92 14 浅黄色 93 15 浅白色 94 95 背景 96 1~15 黑色 97 16~31 深蓝色 98 32~47 深绿色 99 48~63 深青色 100 64~79 深红色 101 80~95 深粉色 102 96~111 深黄色 103 112~127 深白色 104 128~143 灰色 105 144~159 浅蓝色 106 160~175 浅绿色 107 176~191 浅青色 108 192~207 浅红色 109 208~223 浅粉色 110 224~239 浅黄色 111 240~255 浅白色 112 113 附录2(KEY NUMBER) 114 VK_LBUTTON 鼠标左键 0x01 115 VK_RBUTTON 鼠标右键 0x02 116 VK_CANCEL Ctrl + Break 0x03 117 VK_MBUTTON 鼠标中键 0x04 118 119 VK_BACK Backspace 键 0x08 120 VK_TAB Tab 键 0x09 121 122 VK_RETURN 回车键 0x0D 123 124 125 VK_SHIFT Shift 键 0x10 126 VK_CONTROL Ctrl 键 0x11 127 VK_MENU Alt 键 0x12 128 VK_PAUSE Pause 键 0x13 129 VK_CAPITAL Caps Lock 键 0x14 130 131 VK_ESCAPE Esc 键 0x1B 132 133 VK_SPACE 空格键 0x20 134 VK_PRIOR Page Up 键 0x21 135 VK_NEXT Page Down 键 0x22 136 VK_END End 键 0x23 137 VK_HOME Home 键 0x24 138 VK_LEFT 左箭头键 0x25 139 VK_UP 上箭头键 0x26 140 VK_RIGHT 右箭头键 0x27 141 VK_DOWN 下箭头键 0x28 142 VK_SNAPSHOT Print Screen 键 0x2C 143 VK_Insert Insert 键 0x2D 144 VK_Delete Delete 键 0x2E 145 146 '0' – '9' 数字 0 - 9 0x30 - 0x39 147 'A' – 'Z' 字母 A - Z 0x41 - 0x5A 148 149 VK_LWIN 左WinKey(104键盘才有) 0x5B 150 VK_RWIN 右WinKey(104键盘才有) 0x5C 151 VK_APPS AppsKey(104键盘才有) 0x5D 152 153 VK_NUMPAD0 小键盘 0 键 0x60 154 VK_NUMPAD1 小键盘 1 键 0x61 155 VK_NUMPAD2 小键盘 2 键 0x62 156 VK_NUMPAD3 小键盘 3 键 0x63 157 VK_NUMPAD4 小键盘 4 键 0x64 158 VK_NUMPAD5 小键盘 5 键 0x65 159 VK_NUMPAD6 小键盘 6 键 0x66 160 VK_NUMPAD7 小键盘 7 键 0x67 161 VK_NUMPAD8 小键盘 8 键 0x68 162 VK_NUMPAD9 小键盘 9 键 0x69 163 164 VK_F1 - VK_F24 功能键F1 – F24 0x70 - 0x87 165 166 VK_NUMLOCK Num Lock 键 0x90 167 VK_SCROLL Scroll Lock 键 0x91 168 */
————————————————
版权声明:本文为CSDN博主「XSamsara」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41357771/java/article/details/80032227

浙公网安备 33010602011771号