C语言做游戏常用到的一些函数大全 2011
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言做游戏常用到的一些函数大全2010-10-10 14:10|(分类:默认分类)
原文:C语言做游戏常用到的一些函数大全
时间延迟函数
函数名: delay
功能: 将程序的执行暂停一段时间(毫秒)
用法: void delay(unsigned milliseconds);
重画屏幕区域的函数
函数名:getimage
功能:将指定区域的一个位图存到主存中
用法:void far getimage( int left, int top, int right, int bottom, void far *bitmap);
函数名:putimage
功能:在屏幕上输出一个位图
用法:void far putimage( int x, int y, void far *bitmap, int op );
图像大小函数
函数名: imagesize
功能: 返回保存位图像所需的字节数
用法: unsigned far imagesize( int left, int top, int right, int bottom );
异或模式函数
函数名: setwritemode
功能: 设置图形方式下画线的输出模式
用法: void far setwritemode(int mode);
参数MODE可以被设置位COPY_PUT或者XOR_PUT两种模式。当mode被设置为XOR_PUT,其后的图形操作将都采用异或方式。此外之前提到的putimage()函数也可以采用异或模式向屏幕复制图像。
检测键盘输入函数
函数名: kbhit
功能: 检查当前按下的键
用法: int kbhit(void);
键盘接口函数
函数名: bioskey
功能: 直接使用BIOS服务的键盘接口
用法: int bioskey(int cmd);
该函数通过bois中断0×16执行键盘操作,由参数cmd来决定具体的操作。
Cmd 具体操作
0 读取按键的ascii码
1 测试是否有按键如果没有按键返回0 如果按键为ctrl+brk 返回-1 如果是其他按键返回按键本身键
值(直到此按键被取出后恢复0)
2 返回shift key 状态
以下是当cmd为2的时候,返回值的具体含义
cmd返回值触发特殊键
0X01 Left ctrl
0X02 Left alt
0X04 Right ctrl
0X08 Right alt
0X10 Scroll lock
0X20 Num lock
0X40 Caps lock
0X80 Sys rq
bioskey()函数的优点在于:
1.和kbhit()函数一样可以在不影响主程序运行的情况下检测是否有按键;
2.可以方便地检测普通键具体ASCII码和扫描码;
3.可以方便地检测功能键具体扫描码;
4.可以检测特殊按键;
5.只需要一个函数就能解决检测按键和读入按键的任务。
声音与延迟函数
函数名: sound
功能: 以指定频率打开PC扬声器
用法: void sound(unsigned frequency);
函数名: nosound
功能: 关闭PC扬声器
用法: void nosound(void);
函数名: delay
功能: 将程序的执行暂停一段时间(毫秒)
用法: void delay(unsigned milliseconds);
sound()函数用于让pc喇叭发声,nosound()函数用于使正在发声的pc喇叭静音。要使程序中的发声的具体方法,是调用sound()函数并延迟一定时间,然后使用nosound()函数静音,具体语句实现方法如下:sound(100);
delay(100);
nosound();
产生随即数函数
函数名: rand
功能: 随机数发生器
用法: void rand(void);
函数名: random
功能: 随机数发生器
用法: int random(int num);
初始化随机数函数
函数名: randomize
功能: 初始化随机数发生器
用法: void randomize(void);
in86()函数
函数名: int86
功能: 通用8086软中断接口
用法: int int86( int intr_num, union REGS *inregs, union REGS *outregs );
其中intr_num为软中断号,函数通过inregs寄存器向中断发出具体功能命令,函数将中断调用结果返回寄存器outregs。
memset()函数
函数名: memset
功能: 设置s中的所有字节为ch, s数组的大小由n给定
用法: void *memset(void *s, char ch, unsigned n);
标准VGA显示模式表
模式(16进制) 适配器显示类型颜色字符格式屏幕大小字符大小缓冲区首址属性类型
0/1 CGA 文本16/16 40*25 320*200 8*8 B8000 彩色
EGA 文本16/64 40*25 320*350 8*14 B8000 彩色
VGA 文本16/256K 40*25 360*400 9*16 B8000 彩色
CGA 文本16/16 80*25 640*200 8*8 B8000 彩色
2/3 EGA 文本16/64 80*25 640*350 8*14 B8000 彩色
VGA(3+) 文本16/256K 80*25 720*400 9*16 B8000 彩色
CGA 图形4/16 40*25 320*200 8*8 B8000 彩色
4/5 EGA 图形4/64 40*25 320*200 8*8 B8000 彩色
VGA 图形4/256K 40*25 320*200 8*8 B8000 彩色
CGA 图形2/16 40*25 640*200 8*8 B8000 单色
6 EGA 图形2/64 40*25 640*200 8*8 B8000 单色
VGA 图形2/256K 40*25 640*200 8*8 B8000 单色
7 MDA/EGA 文本单色80*25 720*350 9*14 B0000 单色
VGA(7+) 文本单色80*25 720*400 9*16 B0000 单色
D EGA 图形16/64 40*25 320*200 8*8 A0000 彩色
VGA 图形16/256K 40*25 320*200 8*8 A0000 彩色
E EGA 图形16/64 80*25 640*200 8*8 A0000 彩色
VGA 图形16/256K 80*25 640*200 8*8 A0000 彩色
F EGA/VGA 图形单色80*25 640*350 8*14 A0000 单色
10 EGA 图形16/64 80*25 640*350 8*14 A0000 彩色
VGA 图形16/256K 80*25 640*350 8*14 A0000 彩色
11 VGA 图形2/256K 80*30 640*480 8*16 A0000 彩色
12 VGA 图形16/256K 80*30 640*480 8*16 A0000 彩色
13 VGA 图形256/256K 40*25 320*200 8*8 A000 彩色
常规内存函数
申请函数:malloc(),farmalloc(),calloc(),farcalloc(),realloc(),farealloc()