c语言编程地球,C语言程序设计

卫星环绕地球的动画

#include

#include

#include

#include

void orbit(float x0,float y0,float a,float b,float st,float et,int n,int bk,int ic);

void globe(int color);

int bkcolor,color;

void main()

{

int gd=DETECT,gmode;

char select; redraw:

printf("select back-color&planet color,please(except 0)!");

scanf("%d,%d",&bkcolor,&color);

initgraph(&gd,&gmode,"d:\\tc");

setbkcolor(bkcolor);

settextstyle(1,0,4);

outtextxy(115,60,"satellite animation disply");

globe(color);

orbit(320.,300.,250.,100.,-60.,240.,60,bkcolor,color+2);

outtextxy(10,20,"would you like to display again?(Y/N)\n");

select=toupper(getch());

cleardevice();

if(select=='Y'||select=='y')

goto redraw;

else

closegraph();

}

void globe(int color)

{

int i;

setcolor(color+1);

for(i=0;i<=6;i++)

ellipse(320,300,0,360,150-i*20-i,150);

line(320,150,320,450);

ellipse(320,280,185,355,150,50);

ellipse(320,170,175,365,70,30);

ellipse(320,215,180,360,122,45);

ellipse(320,330,195,345,147,60);

ellipse(320,370,220,320,120,65);

}

void orbit(float x0,float y0,float a,float b,float st,float et,int n,int bk,int ic)

{

float dt,t,fst,fet,xs,ys,x,y;

int i;

fst=st*0.01745329;

fet=et*0.01745329;

dt=(fet-fst)/(float)n;

setcolor(ic);

for(i=0;i<=n;i++)

{

ellipse((int)x0,(int)y0,-240,60,250,100);

t=fst+i*dt;

x=x0+a*cos(t);

y=y0+b*sin(t);

setfillstyle(1,ic+3);

pieslice((int)x,(int)y,0,360,4);

delay(30000);

getch();

setcolor(bk);

setfillstyle(1,bk);

pieslice((int)x,(int)y,0,360,4);

setcolor(ic+3);

}

}

仅供参考,

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值