c语言高级编程技术超级精简总结-精华
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*这里面的内容不应当被修改*/
#include
#include
#include
#include
#define closegr closegraph
#define ESC 0x011b
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define ENTER 0x1c0d
/* BGI初始化 */
void init(){
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, "");
}
void write(char *mat,int matsize,int x,int y,int color)
/*依次:字模指针、点阵大小,如8、16、起始坐标(x,y)、颜色*/
{
int i, j, k, n;
n = (matsize - 1) / 8 + 1;
for(j = 0; j < matsize; j++)
for(i = 0; i < n; i++)
for(k = 0;k < 8; k++)
if(mat[j * n + i] & (0x80 >> k)) /*测试为1的位则显示*/
putpixel(x + i * 8 + k, y + j, color);
}
int main()
{
int size;void *p;
init(); /* BGI初始化 */
setcolor(4);/* 设置文字颜色 */
setbkcolor(2);/*背景色*/
setlinestyle(3,0xf3d0,1);/*设置线型,参数:0-4的含义(实线,虚线,中心线,点线,自定);
十六进制数的1代表画出,0代表不画;线宽)*/
if(bioskey(0)==ESC){ /* 得到键盘输入; */
outtextxy(100,100,"aaaaaaa");}/* 输出文字; */
setfillstyle(4,1);/*前一个参数设置类型0-12,12为自定义填充,使用setfillpattern(指针,颜色),指针指向8字节char,即8*8阵列;后一个设置颜色*/
bar(100,100,500,300); /*画出bar*/
rectangle(500,300,550,350);/* 画出矩形,颜色setcolor*/
line(100,100,500,400);/*画出直线lineto(10,10)按增量划线*/
moveto(200,200);/*移动画笔*/
moverel(10,10);/*按增量移动getx、gety得到画笔位置*/
outtext("aaa");/*简单输出文字*/
putpixel(10,10, RED); /*画出点*/
ellipse(20,20,1,60,10,10);/*画出弧线,参数:x坐标,y坐标,开始角度,结束角度,x半径,y半径*/
pieslice(30,30,0,90,10);/*画出扇形,参数:x坐标,y坐标,角度,角度,半径*/
/*fillpoly(顶点数+1,坐标数组名);注意这里的数组收尾坐标相同*/
/*floodfill(x,y,color);color是边界颜色*/
/*settextstyle(字体,方向 ,字号);*/
/*动画技术*/
size=imagesize(300,300,400,400);
p=malloc(size);
getimage(300,300,400,400,p);
putimage(200,200,p,0);
free(p);
/*发声技术*/
for(size=50;size<6000;size+=50){
sound(size);
delay(10000);
}
nosound();
getch(); /* 暂停一下,看看前面绘图代码的运行结果 */
closegr(); /* 恢复TEXT屏幕模式 */
return 0;
}