| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3687 人关注过本帖
标题:飘动的五星红旗
只看楼主 加入收藏
303770957
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:838
专家分:2125
注 册:2005-9-10
收藏
 问题点数:0 回复次数:22 
飘动的五星红旗

___________________________________________________________________________________
程序清单:
#include "graphics.h"
#include "stdlib.h"
void main()
{int size;
int driver=VGA;
int mode=VGAHI;
int d[]={60-40,60+65,65-40,50+65,70-40,60+65,80-40,60+65,72-40,67+65,75-40,77+65,
65-40,70+65,55-40,77+65,58-40,67+65,50-40,60+65,60-40,60+65};
int a[]={60-40,60+62,65-40,50+62,70-40,60+62,80-40,60+62,72-40,67+62,75-40,77+62,
65-40,70+62,55-40,77+62,58-40,67+62,50-40,60+62,60-40,60+62};
int b[]={60-40,60+59,65-40,50+59,70-40,60+59,80-40,60+59,72-40,67+59,75-40,77+59,
65-40,70+59,55-40,77+59,58-40,67+59,50-40,60+59,60-40,60+59};
int c[]={60-40,60+56,56-40,50+56,70-40,60+56,80-40,60+56,72-40,67+56,75-40,77+56,
56-40,70+56,55-40,77+56,58-40,67+56,50-40,60+56,60-40,60+56};
int e[]={60-40,60+53,65-40,50+53,70-40,60+53,80-40,60+53,72-40,67+53,75-40,77+53,
65-40,70+53,55-40,77+53,58-40,67+53,50-40,60+53,60-40,60+53};
int dl[]={20-10,150+5,25-10,150+5,27-10,145+5,30-10,150+5,35-10,150+5,30-10,155-2+5,
34-1-10,162-3+5,27-10,155+5,20+1-10,162-3+5,25-10,155-2+5,20-10,155+5};
char *buffer;
initgraph (&driver,&mode,"e:\\win-tc");
cleardevice();
setcolor(RED);
setbkcolor(BLUE);
setfillstyle(1,WHITE);
rectangle(148,100,152,400);
floodfill(150,101,RED);
circle(150,98,5);
floodfill(150,98,RED);
rectangle(152,104,156,184);
setfillstyle(1,RED);
do
{setviewport(156,0,258,240,1);
clearviewport();
arc(180-156,50,247,297,60);
arc(180-156,130,247,297,60);
arc(230-156,159,63,113,60);
arc(230-156,239,63,113,60);
line(258-156,105,258-156,184); /*画五星红旗的边线*/
setfillstyle(1,YELLOW);
fillpoly(11,dl);
fillpoly(11,d); /*画黄色的五星红旗*/
floodfill(65-40,120,RED);
floodfill(20,160,RED); /*填充五星,边线为红色*/
size=imagesize(8,148,27,168);
buffer=malloc(size);
getimage(8,148,27,168,buffer); /*保存五星的信息*/
putimage(8+20,148-3,buffer,1);
putimage(8+30+2,130,buffer,1);
putimage(8+33,112,buffer,1); /*将缓冲区中保存的内容回写到指定的地址*/
setfillstyle(1,RED);
floodfill(2,165,RED); /*填充红旗旗面为红色*/
delay(4000); /*延时*/
clearviewport(); /*清屏,重新画第二面位置不同的红旗*/
arc(180-156,0,247,285,107);
arc(180-156,80,247,285,107);
arc(230-156,196,70,105,96);
arc(258-156,279,70,105,98);
line(258-156,105,258-156,184);
setfillstyle(1,YELLOW);
fillpoly(11,a);
floodfill(65-40,115,RED);
putimage(8,148-2,buffer,1);
putimage(8+20,148-3-2,buffer,1);
putimage(8+30+2,130-2,buffer,1);
putimage(8+33,112-2,buffer,1);
setfillstyle(1,RED);
floodfill(2,165,RED);
delay(3000); /*延时后再画第三面不同位置的红旗*/
clearviewport();
rectangle(0,104,100,184);
setfillstyle(1,YELLOW);
fillpoly(11,b);
floodfill(65-40,115,RED);
putimage(8,148-4,buffer,1);
putimage(8+20,148-3-4,buffer,1);
putimage(8+30+2,130-4,buffer,1);
putimage(8+33,112-4,buffer,1);
setfillstyle(1,RED);
floodfill(2,165,RED);
delay(2000); /*延时后再画第四面红旗*/
clearviewport();
arc(180-156,196,75,105,96);
arc(180-156,279,75,105,98);
arc(230-156,0,257,285,107);
arc(230-156,80,257,285,107);
line(258-156,105,258-156,184);
setfillstyle(1,YELLOW);
fillpoly(11,c);
floodfill(65-40,120,RED);
putimage(8,148-6,buffer,1);
putimage(8+20,148-3-6,buffer,1);
putimage(8+30+2,130-6,buffer,1);
putimage(8+33,112-6,buffer,1);
setfillstyle(1,RED);
floodfill(2,165,RED);
delay(3000); /*延时后画第五面红旗*/
clearviewport();
arc(180-156,159,63,113,60);
arc(180-156,239,63,113,60);
arc(230-156,50,247,297,60);
arc(230-156,130,247,297,60);
line(258-156,105,258,184);
setfillstyle(1,YELLOW);
fillpoly(11,e);
floodfill(65-40,120,RED);
putimage(8,148-8,buffer,1);
putimage(8+20,148-3-8,buffer,1);
putimage(8+30+2,130-8,buffer,1);
putimage(8+33,112-8,buffer,1);
setfillstyle(1,RED);
floodfill(2,165,RED);
delay(3000);
clearviewport(); /*整个*/
}
while(!kbhit()); /*按任意键退出动画*/
closegraph();
getch();
}
搜索更多相关主题的帖子: 五星红旗 飘动 
2005-12-12 03:13
layabout
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2005-12-2
收藏
得分:0 
顶就一个字啊,老大!!!!!

学习不难!难的是一辈子兢兢业业,老老实实,勤勤恳恳的学习!!!
2005-12-13 18:43
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 

呵呵,不错,就是延时还要注意一下


淘宝杜琨
2005-12-13 19:14
騎著蝸牛航海
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-12-13
收藏
得分:0 
出现了一个错误。。。
2005-12-13 19:37
lihuiyi
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-12-14
收藏
得分:0 
2005-12-14 07:05
spp509
Rank: 1
等 级:新手上路
威 望:1
帖 子:98
专家分:0
注 册:2005-11-23
收藏
得分:0 

顶你


一听就懂,一看就会,一做就错……
2005-12-18 22:39
等待
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2005-12-1
收藏
得分:0 

狂顶


2005-12-18 23:09
bc2004
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2005-12-8
收藏
得分:0 
强人!!
2005-12-19 02:13
章鱼哈哈
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-12-19
收藏
得分:0 
好强,你帮帮我吧,这么强,我的两个问题对你来说一定是小菜一碟罗
2005-12-19 09:56
ghy2001
Rank: 1
等 级:新手上路
威 望:1
帖 子:87
专家分:0
注 册:2005-10-30
收藏
得分:0 
不错。

2005-12-19 11:28
快速回复:飘动的五星红旗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036609 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved