做游戏的必备函数

重要声明——所有函数都需要 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 Print
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;
	}
}

更多查看

posted @ 2024-08-19 21:07  ggc114514  阅读(93)  评论(0)    收藏  举报