#include<conio.h>
#include<graphics.h>
#include<time.h>
#include<stdlib.h>

main()
{
	int i,j;
	int color[7]={0xff6633,0x0000ff,0xff3366,0x33cc7f,0x00ff00,0xff0000,0xffffff};  
    int cnt1,cnt2;

	initgraph(600,480);
	srand((unsigned)time(NULL));
    
	while(1)
	{
        /*if(kbhit()) break; */    /* 原本是准备放在这里,但是执行时候发现无法实现有按键时程序结束 */
		cnt1=rand()%7;             /* 但是当圆变大后,再变小到最后圆的半径为0时,此时按任意键可以  */
		for(i=0;i<200;i++)         /* 结束循环,因此是不是此处也必须要有一个kbhit()函数              */
		{
			if(kbhit())goto A;     /* kbhit() 函数用在此处时,有按键可以结束循环 */
			setcolor(color[cnt1]);       
			circle(300,240,i);        
			Sleep(30);                

			setcolor(0x000000);
			circle(300,240,i);
		}

        cnt2=rand()%7;
		for(j=i;j>=0;j--)
		{
			if(kbhit())goto A;
			setcolor(color[cnt2]); 
			circle(300,240,j);
			Sleep(30);

			setcolor(0x000000);
			circle(300,240,j);
		}
	}
    A:getch();
	closegraph();
}