C语言编程高手速来 50

飘动的红旗(学号最后一位数字为6的同学做)设计要求:在屏幕的中央,画一面飘动的红旗。红旗飘动的曲线可采用正弦曲线。相关函数:setactivepage(),setvisu... 飘动的红旗(学号最后一位数字为6的同学做)
设计要求:在屏幕的中央,画一面飘动的红旗。
红旗飘动的曲线可采用正弦曲线。
相关函数:setactivepage(),setvisualpage()函数。
有做过的同学的话,麻烦把你的发给我谢谢哦~~
我要的是棋子在中央的最好,不要在屏幕旁边的
展开
 我来答
匿名用户
2009-01-10
展开全部
#include <math.h>
#include <dos.h>
#include <graphics.h>
#define FLAG_X 10
#define FLAG_Y 50
#define FLAG_WID 300
#define FLAG_HI 180
#define WAVE_WID 100
#define WAVE_HI 5
#define BACKCOLOR CYAN
#define FLAGCOLOR RED
int Dy[WAVE_WID];
void InitDy(void)
{
float ang;
int i;
for (i=0;i<WAVE_WID;i++)
{
ang=(float)i/WAVE_WID*M_PI*2;
Dy[i]=WAVE_HI*sin(ang);
}
}
void DrawFlag(int offset)
{
int x,y,dy;
int i;
setbkcolor(BACKCOLOR);
cleardevice();
setcolor(FLAGCOLOR);
for (i=0;i<FLAG_WID;i++)
{
x=FLAG_X+i;
dy=Dy[(i+offset)%WAVE_WID];
y=FLAG_Y+dy;
line(x,y,x,y+FLAG_HI);
}
}
void main(void)
{
int gdriver=EGA,gmode=EGAHI;
int off,curpage,doff=5;
initgraph(&gdriver,&gmode,"");
InitDy();
off=0;
curpage=1;
while(1)
{
if (bioskey(1))
break;
if (curpage==0)
curpage=1;
else
curpage=0;
setactivepage(curpage);
DrawFlag(off);
setvisualpage(curpage);
off+=doff;
if (off>=WAVE_WID)
off-=WAVE_WID;
}
closegraph();
}

/*确保你的TC目录下面有EGVVGA.BGI,如果想把你的生成的EXE文件复制到别的目录可以用的话,也要将上述文件一起拷到那个目录下*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式