高手求救啊!一个用在tc环境运行的画圆程序,有问题啊!!(online)

zhuo051 2003-10-16 07:55:29
tc环境运行的画圆程序:
code:

#include <graphics.h>
int main()
{
int gdriver, gmode, i;
gdriver=DETECT;
/* registerbgidriver(EGAVGA_DRIVER); */ /*建立独立图形运行程序*/
initgraph(&gdriver, &gmode", "c:\\turboc2");/*图形初始化*/
setbkcolor(0); /*设置图形背景*/
cleardevice();
for(i=0; i<=15; i++)
{
setcolor(i); /*设置不同作图色*/
circle(320, 240, 20+i*10); /*画半径不同的圆*/
(1)
delay(100); /*延迟100毫秒*/
}
for(i=0; i<=15; i++)
{
setbkcolor(i); /*设置不同背景色*/
cleardevice();
circle(320, 240, 20+i*10);
delay(100);
}
closegraph();
return 0;
}
我在运行的时候没有响应,于是我在(1)处加入了putch(),但是现在的问题是我必须要敲一次键盘,它才能画一个圆。请高手指点!
...全文
56 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuo051 2003-10-16
  • 打赏
  • 举报
回复
我是想画水圈那样的效果,从里到外 水圈一个一个散出去!
希望谁能写一下代码
bonn 2003-10-16
  • 打赏
  • 举报
回复
/*Bresenham画圆*/
#include<graphics.h>
#include<stdio.h>
#include<time.h>

bhcircle(int a,int b,int r,int color)
{
int x,y,delta,delta1,delta2,direction;
x=0;y=r;
delta=2*(1-r);
while(y>=0)
{
delay(30000);
putpixel(x+a,y+b,color);
putpixel(x+a,b-y,color);
putpixel(a-x,y+b,color);
putpixel(a-x,b-y,color);
if(delta<0)
{
delta1=2*(delta+y)-1;
if(delta1<=0)
direction=1;
else
direction=2;
}
else if(delta>0)
{
delta2=2*(delta-x)-1;
if(delta2<=0)
direction=2;
else
direction=3;
}
else
direction=2;
switch(direction)
{
case 1:
x++;
delta+=2*x+1;
break;
case 2:
x++;
y--;
delta+=2*(x-y+1);
break;
case 3:
y--;
delta+=(-2*y+1);
break;
}
}
}

void main()
{
int gd=DETECT,gm,x,y,mid,x1,y1,r;
time_t t;
time(&t);
initgraph(&gd,&gm,"");
setbkcolor(BLUE);
cleardevice();
x=getmaxx();
y=getmaxy();
mid=x/2;
setcolor(RED);
outtextxy(mid-25,1,"Edit");
setcolor(WHITE);
line(1,1,mid-30,1);
line(1,5,mid-30,5);
line(mid+10,1,x,1);
line(mid+10,5,x,5);
line(1,1,1,y);
line(1,y,x,y);
line(x,1,x,y);
line(1,y-30,mid-25,y-30);
line(mid+25,y-30,x,y-30);
outtextxy(mid-20,y-35,"Watch");
line(120,5,120,y-30);
gotoxy(2,2);
printf("x,y,r:\n");
gotoxy(2,3);
scanf("%d,%d,%d",&x1,&y1,&r);
bhcircle(x1+200,y1+100,r,20);
outtextxy(50,y-20,"Press any key to exit.");
outtextxy(380,y-20,ctime(&t));
getch();
}

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧