Python|干货|Python的烟花代码

Python|干货|Python的烟花代码

文章图片

Python|干货|Python的烟花代码

文章图片


【Python|干货|Python的烟花代码】
现在大家是不是都觉得程序员不懂浪漫?那真的大错特错 , 今天就让你们看看什么是程序员的浪漫!我们今天就来写写《烟花》表白程序 , 不要惊讶 , 不要激动 , 学会了快去拿给心中的那个人看!!!煽情的话就不要我说了吧 , 直接上代码!



烟花代码


//初始化烟花参数void Init( inti )
{//分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离 (x、y) 两个分量
int r[13
= { 120 120 155 123 130 147 138 138 130 135 140 132 155;int x[13
= { 120 120 110 117 110 93102 102 110 105 100 108 110;int y[13
= { 120 120 85118 120 103 105 110 110 120 120 104 85;
/**** 初始化烟花 *****/

   Fire[i
.x= 0;//烟花中心坐标
Fire[i
.y= 0;
   Fire[i
.width= 240;//图片宽
Fire[i
.height= 240;//图片高
Fire[i
.max_r= r[i
;//最大半径
Fire[i
.cen_x= x[i
;//中心距左上角距离
Fire[i
.cen_y=y[i
;
   Fire[i
.show= false;//是否绽放
Fire[i
.dt= 5;//绽放时间间隔
Fire[i
.t1=timeGetTime();
   Fire[i
.r= 0;//从 0 开始绽放

/**** 初始化烟花弹 *****/

   Jet[i
.x= -240;//烟花弹左上角坐标
Jet[i
.y= -240;
   Jet[i
.hx= -240;//烟花弹发射最高点坐标
Jet[i
.hy= -240;
   Jet[i
.height= 0;//发射高度
Jet[i
.t1=timeGetTime();
   Jet[i
.dt= rand() % 10;//发射速度时间间隔
Jet[i
.n= 0;//烟花弹闪烁图片下标
Jet[i
.shoot= false;//是否发射
烟花加载函数

//加载图片voidLoad()
{/**** 储存烟花的像素点颜色 ****/
   IMAGE fm gm;
   loadimage(&fm \"./fire/flower.jpg\" 3120 240);
for ( int i = 0; i < 13; i++)
   {
       SetWorkingImage(&fm );
       getimage(&gm i * 240 0 240 240);
       SetWorkingImage(&gm );
for ( int a = 0; a < 240; a++)for ( int b = 0; b < 240; b++)
               Fire[i
.xy[a
[b
=getpixel( a b );
   

   IMAGE sm;
   loadimage(&sm \"./fire/shoot.jpg\" 200 50);
for ( i = 0; i < 13; i++)
   {
       SetWorkingImage(&sm );int n = rand() % 5;

       getimage(&Jet[i
.img[0
n * 20 0 20 50);
       getimage(&Jet[i
.img[1
(n + 5) * 20 0 20 50);
   

   IMAGE hm;
   loadimage(&hm \"./fire/happy.jpg\" 689 115);
   SetWorkingImage(&hm );
for ( i = 0; i < 13; i++)
   {
       Happy[i
.x= i * 90;
       Happy[i
.y= rand() % 100 + 500;
       getimage(&Happy[i
.img i * 53 0 53 115);
   

   Wish.x= 0;
   Wish.y= 100;
   Wish.t1=timeGetTime();
   Wish.dt= 46;
   Wish.dir= 0;
   Wish.dxy= rand() % 8 + 1;
   loadimage(&Wish.img \"./fire/yaojing.jpg\" 490 100);
   putimage( Wish.x Wish.y&Wish.img SRCINVERT );

   SetWorkingImage();


发射函数代码

//扫描烟花弹并发射voidShoot()
{for ( int i = 0; i < 13; i++)