- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言键盘控制与随机数产生
键盘控制与随机数产生 大一讲师团 宋元瑞 2009年12月20日 * 我们在做一些人机交互性很强的程序时,往往要用键盘、鼠标之类的外设对程序进行控制。比如:做一个俄罗斯方块游戏,就要用键盘上的方向键来控制方块的移动方向。那么,具体到程序是如何实现这一功能的呢? 现在我们来介绍键盘控制函数bioskey( ) 高级函数 键盘控制 bioskey( ) 的作用是获得键盘的按键码,即当你按下键盘上的一个键时,该函数就能扫描到这个键的特征编码。 键盘上的每一个键,都是有着自己的特征编码的。类似于每一个char型字符都有自己的ASCII码一样。 这个码就像我们每个人的身份证号码一样,是独一无二的,因此可作为身份识别之用。 高级函数 bioskey( )函数功能 bioskey( )后面的小括号里可以填写三个数字:0、1、2 分别赋予了bioskey()函数三个不同的功能。 bioskey(0):相当于getch( ),但返回的是按键码 bioskey(1):不等待,返回是否有键按下的信息 bioskey(2):不等待,返回特殊键的信息 高级函数 bioskey( )代码编写 程序执行到bioskey(0)时会等待,等待用户按下键盘上的一个键。如果没有键按下,就一直等待,程序停留在这里不再向下运行。可以如下使用: x= bioskey(0); 这一等待特性类似于getch( ),但getch( )返回的是按下的键的ASCII码,而bioskey(0)返回的是按键的特征码 高级函数 bioskey(0): bioskey(1)是不等待的,如果程序执行到这里,用户没有按下任何一个键,它就 返回0,如何按下了某个键,它就返回 非0值 它不会使得程序暂停 高级函数 bioskey(1): bioskey(2)返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键 状态存放在返回值(二进制)的低8位字节中。 八位二进制的 格式是:0000 0000 从右往左分别是第0到7位 高级函数 bioskey(2): bioskey(2)返回值对字节位的信息图示: 高级函数 用bioskey( )做一个用四个方向键控制一个小球在桌面上移动的程序。按下某个方向键时就向相应方向移动一下,不按则不动。按ESC键退出程序。 高级函数 练习 如果做一个俄罗斯方块的话,我们如何确定下一个出现的方块是哪一种呢? 显然不能人为的规定顺序,那样的话就失去了趣味性。只有随机出现某种方块,才能增加挑战性!!! OK,这样我们就需要一个产生随机数的函数了。 高级函数 随机数的作用 random( ) 能够产生你规定的范围内的随机数,产生的数是随机的整数,毫无规律性。 random( )后面的括号里填写一个整数,用它来规定产生的随机数的范围。 例如random(1000)所产生的范围是0~999 高级函数 随机数函数random( ) 一、random()包含在头文件stdlib.h里面。 二、andom()不能单独使用,否则不能产生真正的随机数。单独使用只产生假随机数。它的使用要配套另一个随机数初始化函数: randomize( ); 这个括号里不需要填写任何内容。 高级函数 random()的使用 高级函数 random( )例程 做一个小学加法运算测试程序,两个加数是用random( )随机产生两个整数,要求被测试者输入答案,然后判断对错,并给出成绩。 高级函数 练习 *
文档评论(0)