#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <graphics.h>
#include <math.h>
#include <bios.h>
#include<stdlib.h>
void beginning_f(void)/*礼花*/
{
int d=DETECT; /*对图形显示器自动检测*/
int m;
int maxx=0, maxy=0, midx=0, midy=0, a=0, b=0, x=0, y=0, k=0;
initgraph(&d, &m, ""); /*初始化图形系统 */
maxx=get_maxx(), maxy=get_maxy(), midx=maxx/3, midy=maxy/3;
randomize();/*重复随机数的序列*/
while(bioskey(1)==0) /*完成直接键盘操作*/
{
x=100;
y=60;
for(b=-150;b<=150;b+=10) /*礼花向下移动的像位素*/
{
k=random(20); /*使半径为20个像素的礼花随机出现*/
if(k==0)k=1;
for(a=0;a<=60;a++)
{
{
putpixel((midx+a)+b, (midy+a)+b, k); /*画像素点函数 */
putpixel((midx+a)+b, (midy-a)+b, k); /*圆心向右移动*/
putpixel((midx-a)+b, (midy+a)+b, k);
putpixel((midx-a)+b, (midy-a)+b, k);}
putpixel((midx)+b, (midy+a)+b, k+12);
putpixel((midx)+b, (midy-a)+b, k+12);
putpixel((midx+a)+b, (midy)+b, k+12);
putpixel((midx-a)+b, (midy)+b, k+12);
putpixel((midx+a)+b+x, (midy+a)+b+y, k);
putpixel((midx+a)+b+x, (midy-a)+b+y, k);
putpixel((midx-a)+b+x, (midy+a)+b+y, k);
putpixel((midx-a)+b+x, (midy-a)+b+y, k);
putpixel((midx)+b+x, (midy+a)+b+y, k+12);
putpixel((midx)+b+x, (midy-a)+b+y, k+12);
putpixel((midx+a)+b+x, (midy)+b+y, k+12);
putpixel((midx-a)+b+x, (midy)+b+y, k+12);
putpixel((midx+a)+b-x, (midy+a)+b-y, k);
putpixel((midx+a)+b-x, (midy-a)+b-y, k);
putpixel((midx-a)+b-x, (midy+a)+b-y, k);
putpixel((midx-a)+b-x, (midy-a)+b-y, k);
putpixel((midx)+b-x, (midy+a)+b-y, k+12);
putpixel((midx)+b-x, (midy-a)+b-y, k+12);
putpixel((midx+a)+b-x, (midy)+b-y, k+12);
putpixel((midx-a)+b-x, (midy)+b-y, k+12);
putpixel((midx+a)+b+x, (midy+a)+b-y, k);
putpixel((midx+a)+b+x, (midy-a)+b-y, k);
putpixel((midx-a)+b+x, (midy+a)+b-y, k);
putpixel((midx-a)+b+x, (midy-a)+b-y, k);
putpixel((midx)+b+x, (midy+a)+b-y, k+12);
putpixel((midx)+b+x, (midy-a)+b-y, k+12);
putpixel((midx+a)+b+x, (midy)+b-y, k+12);
putpixel((midx-a)+b+x, (midy)+b-y, k+12);
putpixel((midx+a)+b-x, (midy+a)+b+y, k);
putpixel((midx+a)+b-x, (midy-a)+b+y, k);
putpixel((midx-a)+b-x, (midy+a)+b+y, k);
putpixel((midx-a)+b-x, (midy-a)+b+y, k);
putpixel((midx)+b-x, (midy+a)+b+y, k+12);
putpixel((midx)+b-x, (midy-a)+b+y, k+12);
putpixel((midx+a)+b-x, (midy)+b+y, k+12);
putpixel((midx-a)+b-x, (midy)+b+y, k+12);
/*beginning if(a<36)*/
circle((midx+a)+b, (midy+a)+b, k);
circle((midx+a)+b, (midy-a)+b, k);
circle((midx-a)+b, (midy+a)+b, k);
circle((midx-a)+b, (midy-a)+b, k);
circle((midx)+b, (midy+a)+b, k+12);
circle((midx)+b, (midy-a)+b, k+12);
circle((midx+a)+b, (midy)+b, k+12);
circle((midx-a)+b, (midy)+b, k+12);
circle((midx+a)+b+x, (midy+a)+b+y, k);
circle((midx+a)+b+x, (midy-a)+b+y, k);
circle((midx-a)+b+x, (midy+a)+b+y, k);
circle((midx-a)+b+x, (midy-a)+b+y, k);
circle((midx)+b+x, (midy+a)+b+y, k+12);
circle((midx)+b+x, (midy-a)+b+y, k+12);
circle((midx+a)+b+x, (midy)+b+y, k+12);
circle((midx-a)+b+x, (midy)+b+y, k+12);
circle((midx+a)+b-x, (midy+a)+b-y, k);
circle((midx+a)+b-x, (midy-a)+b-y, k);
circle((midx-a)+b-x, (midy+a)+b-y, k);
circle((midx-a)+b-x, (midy-a)+b-y, k);
circle((midx)+b-x, (midy+a)+b-y, k+12);
circle((midx)+b-x, (midy-a)+b-y, k+12);
circle((midx+a)+b-x, (midy)+b-y, k+12);
circle((midx-a)+b-x, (midy)+b-y, k+12);
circle((midx+a)+b+x, (midy+a)+b-y, k);
circle((midx+a)+b+x, (midy-a)+b-y, k);
circle((midx-a)+b+x, (midy+a)+b-y, k);
circle((midx-a)+b+x, (midy-a)+b-y, k);
circle((midx)+b+x, (midy+a)+b-y, k+12);
circle((midx)+b+x, (midy-a)+b-y, k+12);
circle((midx+a)+b+x, (midy)+b-y, k+12);
circle((midx-a)+b+x, (midy)+b-y, k+12);
circle((midx+a)+b-x, (midy+a)+b+y, k);
circle((midx+a)+b-x, (midy-a)+b+y, k);
circle((midx-a)+b-x, (midy+a)+b+y, k);
circle((midx-a)+b-x, (midy-a)+b+y, k);
circle((midx)+b-x, (midy+a)+b+y, k+12);
circle((midx)+b-x, (midy-a)+b+y, k+12);
circle((midx+a)+b-x, (midy)+b+y, k+12);
circle((midx-a)+b-x, (midy)+b+y, k+12);
delay(30); /*将礼花暂停30毫秒*/
cleardevice(); /*清除图形屏幕 */
}
}
}
closegraph(); /*关闭图形系统*/
}
void main(void)
{
int nChoice;
do
{
printf("/t1. beginning/n");
printf("/t2. EXIT/n");
scanf("%d",&nChoice);
switch(nChoice)
{
case 1:
beginning_f();
break;
case 2:
break;
default:
printf("input again/n");
}
}while(nChoice!=2);
}