做游戏的必备函数
重要声明——所有函数都需要 bits/stdc++.h
1. GetAsyncKeyState( )——判断键位函数
用法 GetAsyncKeyState(int vKey) ,头文件 windows.h
int vKey
vKey |
对应值 | 对应键 |
|---|---|---|
| VK_LEFT | 37 | Left Arrow |
| VK_UP | 38 | Up Arrow |
| VK_RIGHT | 39 | Right Arrow |
| VK_DOWN | 40 | Down Arrow |
| 65 | 65 | A |
| 68 | 68 | D |
| 87 | 87 | W |
| 83 | 83 | S |
点击查看完整版
vKey |
对应值 | 对应键 |
|---|---|---|
| VK_LBUTTON | 1 | 鼠标左键 |
| VK_RBUTTON | 2 | 鼠标右键 |
| VK_CANCEL | 3 | Cancel |
| VK_MBUTTON | 4 | 鼠标中键 |
| VK_XBUTTON1 | 5 | X1鼠标按钮 |
| VK_XBUTTON2 | 6 | X2鼠标按钮 |
| VK_BACK | 8 | Backspace |
| VK_TAB | 9 | Tab |
| VK_CLEAR | 12 | Clear |
| VK_RETURN | 13 | Enter |
| VK_SHIFT | 16 | Shift |
| VK_CONTROL | 17 | Ctrl |
| VK_MENU | 18 | ALt |
| VK_PAUSE | 19 | Pause |
| VK_CAPITAL | 20 | Caps Lock |
| VK_KANA | 21 | IME假名模式 |
| VK_HANGUL | 21 | IME Hanguel模式(保持兼容性;使用VK_HANGUL) |
| VK_HANGEUL | 21 | IME韩文模式 |
| VK_JUNJA | 23 | IME Junja模式 |
| VK_FINAL | 24 | IME最终模式 |
| VK_HANJA | 25 | IME Hanja模式 |
| VK_HANJI | 25 | IME汉字模式 |
| VK_ESCAPE | 27 | Esc |
| VK_CONVERT | 28 | 输入法转换 |
| VK_NONCONVERT | 29 | IME不可转换 |
| VK_ACCETP | 30 | 输入法接受 |
| VK_MODECHANGE | 31 | 输入法模式更改请求 |
| VK_SPACE | 32 | Space |
| VK_PRIOR | 33 | Page Up |
| VK_NEXT | 34 | Page Down |
| VK_END | 35 | End |
| VK_HOME | 36 | Home |
| VK_LEFT | 37 | Left Arrow |
| VK_UP | 38 | Up Arrow |
| VK_RIGHT | 39 | Right Arrow |
| VK_DOWN | 40 | Down Arrow |
| VK_SELECT | 41 | Select |
| VK_PRINT | 42 | |
| VK_EXECUTE | 43 | Execute |
| VK_SNAPSHOT | 44 | Snapshot |
| VK_INSERT | 45 | Insert |
| VK_DELETE | 46 | Delete |
| VK_HELP | 47 | Help |
| 48 | 48 | 0 |
| 49 | 49 | 1 |
| 50 | 50 | 2 |
| 51 | 51 | 3 |
| 52 | 52 | 4 |
| 53 | 53 | 5 |
| 54 | 54 | 6 |
| 55 | 55 | 7 |
| 56 | 56 | 8 |
| 57 | 57 | 9 |
| 65 | 65 | A |
| 66 | 66 | B |
| 67 | 67 | C |
| 68 | 68 | D |
| 69 | 69 | E |
| 70 | 70 | F |
| 71 | 71 | G |
| 72 | 72 | H |
| 73 | 73 | I |
| 74 | 74 | J |
| 75 | 75 | K |
| 76 | 76 | L |
| 77 | 77 | M |
| 78 | 78 | N |
| 79 | 79 | O |
| 80 | 80 | P |
| 81 | 81 | Q |
| 82 | 82 | R |
| 83 | 83 | S |
| 84 | 84 | T |
| 85 | 85 | U |
| 86 | 86 | V |
| 87 | 87 | W |
| 88 | 88 | X |
| 89 | 89 | Y |
| 90 | 90 | Z |
| VK_LWIN | 91 | 左Windows键(自然键盘) |
| VK_RWIN | 92 | 右Windows键(自然键盘) |
| VK_APPS | 93 | 应用程序键(自然键盘) |
| VK_SLEEP | 95 | 电脑睡眠键 |
| VK_NUMPAD0 | 96 | 小键盘0 |
| VK_NUMPAD1 | 97 | 小键盘1 |
| VK_NUMPAD2 | 98 | 小键盘2 |
| VK_NUMPAD3 | 99 | 小键盘3 |
| VK_NUMPAD4 | 100 | 小键盘4 |
| VK_NUMPAD5 | 101 | 小键盘5 |
| VK_NUMPAD6 | 102 | 小键盘6 |
| VK_NUMPAD7 | 103 | 小键盘7 |
| VK_NUMPAD8 | 104 | 小键盘8 |
| VK_NUMPAD9 | 105 | 小键盘9 |
| VK_MULTIPLY | 106 | 小键盘 * |
| VK_ADD | 107 | 小键盘 + |
| VK_SEPARATOR | 108 | 小键盘 Enter |
| VK_SUBTRACT | 109 | 小键盘 - |
| VK_DECIMAL | 110 | 小键盘 . |
| VK_DIVIDE | 111 | 小键盘 / |
| VK_F1 | 112 | F1 |
| VK_F2 | 113 | F2 |
| VK_F3 | 114 | F3 |
| VK_F4 | 115 | F4 |
| VK_F5 | 116 | F5 |
| VK_F6 | 117 | F6 |
| VK_F7 | 118 | F7 |
| VK_F8 | 119 | F8 |
| VK_F9 | 120 | F9 |
| VK_F10 | 121 | F10 |
| VK_F11 | 122 | F11 |
| VK_F12 | 123 | F12 |
| VK_F13 | 124 | |
| VK_F14 | 125 | |
| VK_F15 | 126 | |
| VK_F16 | 127 | |
| VK_F17 | 128 | |
| VK_F18 | 129 | |
| VK_F19 | 130 | |
| VK_F20 | 131 | |
| VK_F21 | 132 | |
| VK_F22 | 133 | |
| VK_F23 | 134 | |
| VK_F24 | 135 | |
| VK_MUMLOCK | 144 | Num Lock |
| VK_SCROLL | 145 | Scroll |
| VK_LSHIFT | 160 | 左SHIFT键 |
| VK_RSHIFT | 161 | 右SHIFT键 |
| VK_LCONTROL | 162 | 左CONTROL键 |
| VK_RCONTROL | 163 | 右CONTROL键 |
| VK_LMENU | 164 | 左MENU键 |
| VK_RMENU | 165 | 右MENU键 |
| VK_BROWSER_BACK | 166 | 浏览器后退键 |
| VK_BROWSER_FORWARD | 167 | 浏览器前进键 |
| VK_BROWSER_REFRESH | 168 | 浏览器刷新键 |
| VK_BROWSER_STOP | 169 | 浏览器停止键 |
| VK_BROWSER_SEARCH | 170 | 浏览器搜索键 |
| VK_BROWSER_FAVORITES | 171 | 浏览器收藏夹键 |
| VK_BROWSER_HOME | 172 | 浏览器开始和主页键 |
| VK_VOLUME_MUTE | 173 | 音量静音键 |
| VK_VOLUME_DOWN | 174 | 降低音量键 |
| VK_VOLUME_UP | 175 | 调高音量键 |
| VK_MEDIA_NEXT_TRACK | 176 | 下一曲目键 |
| VK_MEDIA_PREV_TRACK | 177 | 上一曲目键 |
| VK_MEDIA_STOP | 178 | 停止媒体键 |
| VK_MEDIA_PLAY_PAUSE | 179 | 播放/暂停媒体键 |
| VK_LAUNCH_MAIL | 180 | 启动邮件密钥 |
| VK_LAUNCH_MEDIA_SELECT | 181 | 选择媒体密钥 |
| VK_LAUNCH_APP1 | 182 | 启动应用程序1键 |
| VK_LAUNCH_APP2 | 183 | 启动应用程序2键 |
| VK_OEM_1 | 186 | ;: |
| VK_OEM_PLUS | 187 | =+ |
| VK_OEM_COMMA | 188 | |
| VK_OEM_MINUS | 189 | -_ |
| VK_OEM_PERIOD | 190 | |
| VK_OEM_2 | 191 | /? |
| VK_OEM_3 | 192 | `~ |
| VK_OEM_4 | 219 | [{ |
| VK_OEM_5 | 220 | \ |
| VK_OEM_6 | 221 | ]} |
| VK_OEM_7 | 222 | " |
| VK_OEM_8 | 223 | |
| VK_OEM_102 | 226 | |
| VK_ICO_HELP | 227 | |
| VK_ICO_00 | 228 | |
| VK_PROCESSKEY | 229 | |
| VK_ICO_CLEAR | 230 | |
| VK_PACKET | 231 | |
| VK_OEM_RESET | 233 | |
| VK_OEM_JUMP | 234 | |
| VK_OEM_PA1 | 235 | |
| VK_OEM_PA2 | 236 | |
| VK_OEM_PA3 | 237 | |
| VK_OEM_WSCTRL | 238 | |
| VK_OEM_CUSEL | 239 | |
| VK_OEM_ATTN | 240 | |
| VK_OEM_FINISH | 241 | |
| VK_OEM_COPY | 242 | |
| VK_OEM_AUTO | 243 | |
| VK_OEM_ENLW | 244 | |
| VK_OEM_BACKTAB | 245 | |
| VK_ATTN | 246 | |
| VK_CRSEL | 247 | |
| VK_EXSEL | 248 | |
| VK_EREOF | 249 | |
| VK_PLAY | 250 | |
| VK_ZOOM | 251 | |
| VK_NONAME | 252 | |
| VK_PA1 | 253 | |
| VK_OEM_CLEAR | 254 |
2.Sleep( )——等待函数
用法 Sleep(DWORD dwMilliseconds) ,头文件 windows.h
DWORD dwMilliseconds——单位:ms
3.gotoxy( )——光标跳跃函数(自编函数)
用法 gotoxy(int x , int y) ,头文件 windows.h
-
int x,int y——坐标 -
构造
void gotoxy(int x, int y) {
COORD pos = {y, x};
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hOut, pos);
}
4. color( ) ——更改文字颜色(自编函数)
用法 color(int COLOR),头文件 windows.h
-
int COLOR——颜色 -
构造
void Color(int COLOR){
switch(COLOR){
//黑底白字
case 1:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);break;
//黑底红字
case 2:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);break;
//黑底绿字
case 3:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);break;
//黑底黄字
case 4:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);break;
//黑底蓝字
case 5:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);break;
//黑底品红
case 6:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);break;
//黑底青色
case 7:SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);break;
}
}

浙公网安备 33010602011771号