📄 画图的源程序.txt
字号:
画图的源程序
本文由鹏程C语言教学网站整理收录
收录时间: 2003-6-14 11:41:51
--------------------------------------------------------------------------------
Author: From:
#include<stdio.h>
#include<graphics.h>
#define BKCOLOR 1
int If_Draw;
int Array[160][120]={0};
void save()
{
int i,j;
FILE *fp;
if((fp=fopen("map1","wb"))==NULL)
{
printf("cannot open file\n");
return;
}
for(i=0;i<160;i++)
for(j=4;j<8;j++)
{
Array[i][j]=1;
Array[i][j+112]=1;
}
for(i=0;i<4;i++)
for(j=0;j<120;j++)
{
Array[i][j]=1;
Array[i+156][j]=1;
}
for(i=0;i<160;i++)
for(j=0;j<120;j++)
{
if(fwrite(&Array[i][j],2,1,fp)!=1)
{
printf("file write error!\n");
}
}
fclose(fp);
}
main()
{
int key=0;
int i,j;
int x=78,y=58;
int driver=DETECT,mode;
registerbgidriver(EGAVGA_driver);
initgraph(&driver,&mode,"d:\\turboc2");
setbkcolor(BKCOLOR);
for(;key!=0x11b;)
{
key=bioskey(0);
switch(key)
{
case 0x4d00:if(If_Draw)
{
x=x+4;
draw(x,y);
}
else
{
remove1(x,y);
x+=4;
remove2(x,y);
}
break;
case 0x4800:if(If_Draw)
{
y=y-4;
draw(x,y);
}
else
{
remove1(x,y);
y-=4;
remove2(x,y);
}
break;
case 0x4b00:if(If_Draw)
{
x=x-4;
draw(x,y);
}
else
{
remove1(x,y);
x-=4;
remove2(x,y);
}
break;
case 0x5000:if(If_Draw)
{
y=y+4;
draw(x,y);
}
else
{
remove1(x,y);
y+=4;
remove2(x,y);
}
break;
case 0x2064:If_Draw=1;draw(x,y);break;
case 0x1265:If_Draw=0;remove2(x,y);break;
case 0x1f73:save();break;
default: break;
}
}
closegraph();
}
draw(int x,int y)
{
int i,j;
setfillstyle(SOLID_FILL,GREEN);
bar(x*4,y*4,(x+4)*4-1,(y+4)*4-1);
for(i=x;i<x+4;i++)
for(j=y;j<y+4;j++)
Array[i][j]=1;
}
remove1(int x,int y)
{
int i,j;
setfillstyle(SOLID_FILL,BKCOLOR);
bar(x*4,y*4,(x+4)*4-1,(y+4)*4-1);
for(i=x;i<x+4;i++)
for(j=y;j<y+4;j++)
Array[i][j]=0;
}
remove2(int x,int y)
{
int i,j;
setfillstyle(SOLID_FILL,WHITE);
bar(x*4,y*4,(x+4)*4-1,(y+4)*4-1);
for(i=x;i<x+4;i++)
for(j=y;j<y+4;j++)
Array[i][j]=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -