c语言动画-《月亮和鸟》

#include "Conio.h" #include "graphics.h" #include <stdio.h> #include <stdlib.h> #include <dos.h> int MouseX; int MouseY; void initgr(void) {int gd=DETECT,gm=0;

registerbgidriver(EGAVGA_driver); initgraph(&gd,&gm,""); }

/*鼠标光标显示*/ void MouseOn() { _AX=0x01; geninterrupt(0x33); }

/*鼠标光标掩示*/ void MouseOff()/*鼠标光标隐藏*/ { _AX=0x02; geninterrupt(0x33); } void MouseSetXY(int x,int y)/*设置当前位置*/ { _CX=x; _DX=y; _AX=0x04; geninterrupt(0x33); } int LeftPress()/*左键按下*/ { _AX=0x03; geninterrupt(0x33); return(_BX&1); } void MouseGetXY()/*得到当前位置*/ { _AX=0x03; geninterrupt(0x33); MouseX=_CX; MouseY=_DX; }

main() {int i; int x,y; int s=2; int a=100,b=100; int c=300,d=150; initgr(); x=500; y=50;

for(;!kbhit();) {

putpixel(200,50,WHITE); putpixel(300,65,WHITE); putpixel(50,80,WHITE); /***************************星*********************/

setcolor(1); ellipse(320,180,0,180,320,40); setfillstyle(1,1); floodfill(320,250,1);/**************海*********************/

setcolor(8); ellipse(0,480,0,90,500,180); setfillstyle(1,8); floodfill(10,450,8);/********************地*********************/

setcolor(BROWN); ellipse(50,300,270,90,10,50); line(80,350,80,220); ellipse(65,250,0,360,40,50); setfillstyle(11,BROWN); floodfill(80,285,BROWN); floodfill(65,299,BROWN); floodfill(55,290,BROWN); ellipse(60,350,100,80,40,25); /****************树*********************/

for(;x>100&&!kbhit();) { for(i=0;i<1&&c<2;i++) { c=c-1; setcolor(8); ellipse(c,d,0,360,16,4); line(c+4,d+2,c+4,d-2); line(c-4,d+2,c-4,d-2); circle(c,d-8,2); line(c,d-6,c,d); line(c,d-2,c-8,d+8); line(c,d-2,c-8,d-8); setfillstyle(1,8); floodfill(c,d-8,8);

setfillstyle(11,8); floodfill(c-6,d,8);/***左舱****/

setfillstyle(11,8); floodfill(c+5,d,8);/***右舱****/

}/*********boat**********/ delay(60); setcolor(0); ellipse(c,d,0,360,16,4); line(c+4,d+2,c+4,d-2); line(c-4,d+2,c-4,d-2); circle(c,d-8,2); line(c,d-6,c,d); line(c,d-2,c-8,d+8); line(c,d-2,c-8,d-8); setfillstyle(1,0); floodfill(c,d-8,0);

setfillstyle(11,0); floodfill(c-6,d,0);/***左舱****/

setfillstyle(11,0); floodfill(c+5,d,0);/***右舱****/

x--; setcolor(YELLOW); circle(x,y,30); setfillstyle(1,YELLOW); floodfill(x,y,YELLOW);

if(a>640) a=0; a=a+10; setcolor(RED); ellipse(a,b,0,180,10,5); ellipse(a+20,b,0,180,10,5); line(a+5,b,a+12,b);/***************鸟******************/

delay(60000);

setcolor(0); ellipse(a,b,0,180,10,5); ellipse(a+20,b,0,180,10,5); line(a+5,b,a+12,b);

circle(x+2,y,30); setfillstyle(1,0); floodfill(x+2,y,0); } /*****************月亮*****************/

} }

经验分享 程序员 微信小程序 职场和发展