开发网站去哪里学,怎么做网站8uftp,程序员培训,建英语网站好[导读]本系列博文内容链接如下#xff1a; 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动 最近想用c做一个小游戏#xff0c;游戏的主要内容是利用键盘控制一个飞机躲避和击落屏… [导读]本系列博文内容链接如下 【C】做一个飞机空战小游戏(一)——使用getch()函数获得键盘码值 【C】做一个飞机空战小游戏(二)——利用getch()函数实现键盘控制单个字符移动 最近想用c做一个小游戏游戏的主要内容是利用键盘控制一个飞机躲避和击落屏幕顶部随机掉落敌方炮弹飞机被敌方炮弹击中则减掉一条命飞机也可以发射炮弹反击每击落一个敌方炮弹则有相应积分。
游戏的思路就是利用w、s、a、d四个按键来控制飞机的移动方向w——向上s——向下a——向左d——向右按空格键飞机发射反击炮弹。
那么问题来了程序如何知道键盘哪个键被按下了呢c中getch()这个函数可以实现这个功能当键盘某个按键或某个组合按键被按下时利用这个函数可以获得该按键或组合按键对应符号的码值从而确定哪个按键被按下了。
目录
一、getch()函数
一功能描述
二函数原型
二、键盘码值
一可显示字符
二控制按键编码
1、单码
2、双码
1第一部分为224
2第一部分为0
三小键盘码值
1、可显示字符
2、第一类控制字符
3、第二类控制字符
四检查键盘码值的方法
1、查询按键码值程序
2、可显示字符的运行结果
3、控制按键单编码
4、控制按键双编码 一、getch()函数
百度百科getch()函数的描述
一功能描述
getch()是编程中所用的函数这个函数是一个不回显函数当用户按下某个字符时函数自动读取无需按回车有的C语言命令行程序会用到此函数做游戏但是这个函数并非标准函数要注意移植性
二函数原型
函数原型int getch(void)
返回值读取字符的码值
getch()所在头文件conio.h
函数用途从控制台读取一个字符但不显示在屏幕上函数原型int getch(void)返回值读取的字符例如char ch;或int ch;getch();或chgetch();用getch();会等待你按下任意键再继续执行下面的语句用chgetch();会等待你按下任意键之后把该键字符所对应的键盘码值赋给ch,再执行下面的语句。
二、键盘码值
一可显示字符
可显示字符是指可通过键盘录入的字符文本编号范围是32-1260x20-0x7E共95个字符如图1所示浅黄色区域为对应的按键。 图1 可显示字符按键 getch()获得的可显示字符的码值就是字符的ascii码值具体情况见表1。 表1 可显示字符对应的码值 二控制按键编码
键盘的有些按键作用并不是录入文本字符而是代表输入了一些控制指令。这部分指令按键的码值分两种情况单码和双码。单码码值范围为0~32之间双码由两部分码组成第一部分为0或者224第二部分为0~255。
1、单码
常用的按键有4个
序号码值键盘符号18Backspace29Tab313Enter427Esc
2、双码
1第一部分为224
序号第一部分码值第二部分码值键盘符号122471Home222472↑322473PgUp422475←522477→622479End722480↓822481PgDn922482Insert1022483Delete11224133F1112224134F1213224135F11第二功能14224136F12第二功能
2第一部分为0
序号第一部分码值第二部分码值键盘符号1059F12060F23061F34062F45063F56064F67065F78066F89067F910068F1011084F1第二功能12085F2第二功能13086F3第二功能14087F4第二功能15088F5第二功能16089F6第二功能17090F7第二功能18091F8第二功能19092F9第二功能20093F10第二功能
三小键盘码值
大部分外接键盘和部分笔记本键盘带有数字输入专用的小键盘如图2所示也有独立的小键盘如图3所示。 图2 带有小键盘的键盘 图3 独立的小键盘 小键盘上的按键除了数字切换键NumLock之外其余的键大键盘也是有的是重复的。
小键盘的码值分三种情况
1、可显示字符
小键盘的数字0~9、加减乘除等于号(、-、*、/、)、小数点(.等15个可显示字符其码值与大键盘一样都是ascii码值。
2、第一类控制字符
数字键7、8、9、4、6、1、2、3、0和小数点键等10个键有复合功能分别为Home、↑、PgUp、←、→、End、↓、PgDn、Insert、Delete。这10个复合功能键码值与大键盘的码值略有区别其码值第二部分完全一致而第一部分码值都是0。详见下表。
序号第一部分码值第二部分码值键盘符号1071Home2072↑3073PgUp4075←5077→6079End7080↓8081PgDn9082Insert10083Delete
3、第二类控制字符
控制字符键Backspace和Enter其码值与大键盘一样分别为13和8。
四检查键盘码值的方法
对于可显示字符各个品牌键盘的码值基本都一样。对于控制按键的码值可能会有不同可以通过
编写程序来显示。
1、查询按键码值程序
#include iostream
#include conio.h
using namespace std;int main()
{while(1){coutgetch()endl;}}
2、可显示字符的运行结果
分别输入1、A、a、!、,5个字符时显示的码值如下所示。
49
65
97
33
44
3、控制按键单编码
分别按Backspace、Tab、Enter、Esc时显示的码值如下所示。
8
9
13
274、控制按键双编码
分别按↑、↓、←、→、F1、F2键时显示的码值如下所示注意每个按键对应的两个码值是分行显示。
224
72
224
80
224
75
224
77
0
59
0
60