标题:高手帮帮忙!画同心圆并用不同的颜色进行填充以及画出运动的圆。
只看楼主
theboy001
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2009-10-1
结帖率:100%
已结贴  问题点数:20 回复次数:11 
高手帮帮忙!画同心圆并用不同的颜色进行填充以及画出运动的圆。
希望会做的朋友能够解答!
搜索更多相关主题的帖子: 运动 颜色 
2009-10-01 11:33
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
得分:20 
这论坛里有不少画圆的程序,你可以去参考一下。
下面的程序是我根据别人的程序修改的(此程序原来出处是https://bbs.bccn.net/viewthread.php?tid=210710&highlight=%D4%B2),我不会画运动的东西,但是觉得很有意思。
它可以实现画运动的圆,那么修改一下应该可以达到其他要求。
#include<graphics.h>
#include<math.h>
#include<dos.h>
#include<conio.h>
void huayuan(int x,int y)
{  
   circle(x,y,100);
}
void init()
{
int driver,mode,b;
driver=DETECT;  
mode=0;  
initgraph(&driver,&mode,"");  
setcolor(50);
}
main()
{
int ax,i;
init();
for(i=0;;i+=1)
  {
    ax=i;
    if(i==640) i=0;
    huayuan(ax,240);
    delay(10000);
    cleardevice();
    if(kbhit())  
   break;
  }
}  
2009-10-01 12:57
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
得分:0 
这样改也很有意思:
#include<graphics.h>
#include<math.h>
#include<dos.h>
#include<conio.h>
void huayuan(int x,int y)
{ int b,d=10;
for(b=0;b<101;b+=20)
   {
    setcolor(d);
    d++;
    circle(x,y,b);
    }
}
void init()
{
int driver,mode,b;
driver=DETECT;  
mode=0;  
initgraph(&driver,&mode,"");   
}
main()
{
int ax,i;
init();
for(i=0;;i+=1)
  {
   ax=i;
   if(i==640)
   i=0;
   huayuan(ax,240);
   delay(500);
   cleardevice();
   if(kbhit())
   break;
   }
}  
2009-10-01 13:57
theboy001
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2009-10-1
得分:0 
运动我已经搞定,现在是不知道到下面那个为圆填充的代码错在哪里?
#include <graphics.h>
#include  <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{ int i, d=100,c=1;
  int gdriver=DETECT,gmode,errorcode;
  initgraph(&gdriver,&gmode,””  );
  errorcode=graphresult();
  if(errorcode!=grOK)
 { printf(“Graphics error: %s\n", grapherrormsg(errorcode));
   printf(“Press any key to halt:”);
   getch();
   exit(1);
  }
 cleardevice();
 setbkcolor(EGA_WHITE);
 for(i=1;i<=5;i++)
 {circle(200,200,d);
  floodfill(200,200,c);
  d=d-20;
  c=c+1;
 }
 getch();
 closegraph();
 return 0;
2009-10-01 17:38
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
得分:0 
为什么我在TC下运行时if(errorcode!=grOK)  
会提示错误,说grOK没有定义。对于画图的一些内容我不懂,不知道哪出错了。
2009-10-01 17:57
wuj
Rank: 2
等 级:论坛游民
帖 子:11
专家分:14
注 册:2009-9-26
得分:0 
我也刚刚接触TC图形编程,知道的也不多,自己写了一个程序,运行了一下,效果不是太好,不知道符不符合你的要求.

#include <stdio.h>  
#include <graphics.h>  
main(){  
    int gdriver,gmode,i,j;  
    gdriver=DETECT;  
    initgraph(&gdriver,&gmode,"");  
    setbkcolor(BLUE);
    for(j=100;j<640;j++){  
    for(i=0;i<15;i++)  
    {     
        setcolor(i);         
        circle(j,200,50+5*i);  
        cleardevice();}
        delay(5);         
    }  
    getch();  
    closegraph();  
}
2009-10-01 19:31
疯狂小子
Rank: 1
等 级:新手上路
帖 子:51
专家分:2
注 册:2009-6-8
得分:0 
if(errorcode!=OK)是什么意思啊
2009-10-01 21:28
theboy001
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2009-10-1
得分:0 
是grOk,k没大写的!
2009-10-01 22:14
theboy001
Rank: 1
等 级:新手上路
帖 子:6
专家分:3
注 册:2009-10-1
得分:0 
真是谢谢大家的意见,动画的那个我已经搞定了,就是画出同心圆后对每个圆进行填充不同得颜色搞不定。
2009-10-01 22:16
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
得分:0 
你是说相邻的两个圆之间的区域涂成不同的颜色?不会,呵呵。
2009-10-02 12:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-287375-1-1.html




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

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