| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 774 人关注过本帖
标题:大哥帮我编个小程序,关于函数bioskey()的,主要是不懂这个函数
只看楼主 加入收藏
初吻献给烟
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2010-2-1
结帖率:33.33%
收藏
 问题点数:0 回复次数:2 
大哥帮我编个小程序,关于函数bioskey()的,主要是不懂这个函数
我想编写一个喝酒时玩老虎杠子的游戏,但是一直,编不出来,主要是,函数bioskey不会使用,

大概就是这样的,

上键表示:老虎
下键表示:鸡
左键表示:虫
右键表示:杠子,
游戏开始后,程序自动随机输出,如果我是老虎他是鸡,我就WIN如果我是虫,他是老虎,就不斗,....

如此循环,我原本用1234代替,老虎,鸡、虫、杠子但是觉得很不好,就想换着个方法了,但是不懂怎么写,请高手,详解,详写..谢谢
大哥们,想这样的,我就是不会理解
int bioskey(int cmd)

其中cmd有3个参数:0,1,2

各参数的用法为:

当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。当按下一个普通键时,它的低8位数存放该字符的ASCII码;对于特殊键(如方向键、F1~F12等等),低8位为0,高8位字节存放该键的扫描码。
cmd = 1:
当cmd是1,bioskey()查询是否按下一个键,若按下一个键则返回非零值,否则返回0。
cmd = 2:
当cmd是2,bioskey()返回Shift、Ctrl、Alt、ScrollLock、NumLock、CapsLock、Insert键的状态。各键状态存放在返回值的低8位字节中。
字节位 含义
0 右边Shift键状态
1 左边Shift键状态
3 Ctrl键状态
4 Alt键状态
5 ScrollLock键状态
6 NumLock键状态
7 CapsLock键状态
8 Insert键状态bioskey函数
函数原型: int bioskey(int cmd);
函数功能:
利用函数bioskey可以实现

[ 本帖最后由 初吻献给烟 于 2010-3-3 00:47 编辑 ]
搜索更多相关主题的帖子: bioskey 函数 
2010-03-03 00:36
smltq
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:566
专家分:400
注 册:2008-1-21
收藏
得分:0 
程序代码:
#include <stdio.h>
#include <bios.h>
#define UP     0x4800
#define DOWN   0x5000
#define LEFT   0x4b00
#define RIGHT  0x4d00
int main()
{
    int key;
    clrscr();
    while (!bioskey(1));
    key=bioskey(0);
    switch(key)
    {
    case UP:
        printf("You press the button \"UP\"");
        break;
    case DOWN:
        printf("You press the button \"DOWN\"");
        break;
    case LEFT:
        printf("You press the button \"LEFT\"");
        break;
    case RIGHT:
        printf("You press the button \"RIGHT\"");
        break;
    default:
        break;
    }
    /*printf("%#02x\n", key);*/
    return 0;
}

简单的生活
2010-03-03 09:14
初吻献给烟
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2010-2-1
收藏
得分:0 
大哥,可以注释一下吗;越详细,越好,谢谢,精良人物化
2010-03-06 22:04
快速回复:大哥帮我编个小程序,关于函数bioskey()的,主要是不懂这个函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016098 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved