C语言做游戏常用到的一些函数大全2011

上传人:平*** 文档编号:14171413 上传时间:2017-10-28 格式:DOC 页数:5 大小:38.64KB
返回 下载 相关 举报
C语言做游戏常用到的一些函数大全2011_第1页
第1页 / 共5页
C语言做游戏常用到的一些函数大全2011_第2页
第2页 / 共5页
C语言做游戏常用到的一些函数大全2011_第3页
第3页 / 共5页
C语言做游戏常用到的一些函数大全2011_第4页
第4页 / 共5页
C语言做游戏常用到的一些函数大全2011_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言做游戏常用到的一些函数大全2011》由会员分享,可在线阅读,更多相关《C语言做游戏常用到的一些函数大全2011(5页珍藏版)》请在金锄头文库上搜索。

1、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

2、 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

3、_PUT,其后的图形操作将都采用异或方式。此外之前提到的 putimage()函数也可以采用异或模式向屏幕复制图像。检测键盘输入函数函数名: kbhit功 能: 检查当前按下的键用 法: int kbhit(void);键盘接口函数函数名: bioskey功 能: 直接使用 BIOS 服务的键盘接口用 法: int bioskey(int cmd);该函数通过 bois 中断0 16执行键盘操作,由参数 cmd 来决定具体的操作。Cmd 具体操作0 读取按键的 ascii 码1 测试是否有按键 如果没有按键 返回0 如果按键为 ctrl+brk 返回-1 如果是其他按键 返回按键本身键值(直到

4、此按键被取出后恢复0)2 返回 shift key 状态以下是当 cmd 为 2的时候,返回值的具体含义cmd 返回值 触发特殊键0X01 Left ctrl0X02 Left alt0X04 Right ctrl0X08 Right alt0X10 Scroll lock0X20 Num lock0X40 Caps lock0X80 Sys rqbioskey()函数的优点在于:1.和 kbhit()函数一样可以在不影响主程序运行的情况下检测是否有按键;2.可以方便地检测普通键具体 ASCII 码和扫描码;3.可以方便地检测功能键具体扫描码;4.可以检测特殊按键;5.只需要一个函数就能解决检

5、测按键和读入按键的任务。声音与延迟函数函数名: sound功 能: 以指定频率打开 PC 扬声器用 法: void sound(unsigned frequency);函数名: nosound功 能: 关闭 PC 扬声器用 法: void nosound(void);函数名: delay功 能: 将程序的执行暂停一段时间( 毫秒)用 法: void delay(unsigned milliseconds);sound()函数用于让 pc 喇叭发声,nosound()函数用于使正在发声的 pc 喇叭静音。要使程序中的发声的具体方法,是调用 sound()函数并延迟一定时间,然后使用 nosoun

6、d()函数静音,具体语句实现方法如下: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 RE

7、GS *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

8、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 32

9、0*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

10、彩色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 彩

11、色13 VGA 图形 256/256K 40*25 320*200 8*8 A000 彩色常规内存函数申请函数:malloc(),farmalloc(),calloc(),farcalloc(),realloc(),farealloc()函数名: malloc功 能: 内存分配函数用 法: void *malloc(unsigned size);函数名: farmalloc功 能: 从远堆中分配存储块用 法: void far *farmalloc(unsigned long size);函数名: calloc功 能: 分配主存储器用 法: void *calloc(size_t nelem,

12、 size_t elsize);函数名: farcalloc功 能: 从远堆栈中申请空间用 法: void far *farcalloc( unsigned long units, unsigned ling unitsz );函数名: realloc功 能: 重新分配主存用 法: void *realloc(void *ptr, unsigned newsize);函数名: farrealloc功 能: 调整远堆中的分配块用 法: void far *farrealloc( void far *block, unsigned long newsize );使用函数:memcpy(),mems

13、et(),memmove(),movedata()函数名: memcpy功 能: 从源 source 中拷贝 n 个字节到目标 destin 中用 法: void *memcpy(void *destin,void *source,unsigned n);函数名: memset功 能: 设置 s 中的所有字节为 ch, s 数组的大小由 n 给定用 法: void *memset(void *s, char ch, unsigned n);函数名: memmove功 能: 移动一块字节用 法: void *memmove(void *destin,void *source,unsigned n

14、);函数名: movedata功 能: 拷贝字节用 法: void movedata(int segsrc, int offsrc, int segdest, int offdest, unsigned numbytes);释放函数:free(),farfree()函数名: free功 能: 释放已分配的块用 法: void free(void *ptr);函数名: farfree功 能: 从远堆中释放一块用 法: void farfree(void);指针操作函数:MK_FP(),FP_OFF(),FP_SEG()函数名: MK_FP功 能: 设置一个远指针用 法: void far *MK

15、_FP(unsigned seg, unsigned off);函数名: FP_OFF功 能: 获取远地址偏移量用 法: unsigned FP_OFF(void far *farptr);函数名: FP_SEG功 能: 获取远地址段值用 法: unsigned FP_SEG(void far *farptr);XMS 功能调用索引表:功能号 功能 版本功能00H 功能01H 功能02H 功能03H 功能04H 功能05H 功能06H 功能07H 功能08H 功能09H 功能0AH 功能0BH 功能0CH 功能0DH 功能0EH 功能0FH 功能10H 功能11H 取 XMS 版本号 请求高内

16、存区HMA 释放高内存区 HMA 全程启用 A20 全程停用 A20 局部启用 A20 局部停用 A20 查询 A20状态 查询自由扩展内存 分配扩展内存块 释放扩展内存块 移动扩展内存块 锁住扩展内存块 扩展内存块解锁 取EMB 句柄信息 重新分配扩展内存块 请求上位存储块 UMB 释放上位存储块 UMB XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0 XMS 规范 V2.0

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号