国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言煙花代碼—兔年頂呱呱

這篇具有很好參考價值的文章主要介紹了C語言煙花代碼—兔年頂呱呱。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

????????廢話不多說,直接上碼

代碼,歌曲,煙花圖片都在壓縮包里
鏈接: https://pan.baidu.com/s/1_459s0fFCAX1DcQa_BnHMQ?pwd=qw12?
提取碼: qw12

要看效果的也可以看我抖音:

1210246294

#include<stdio.h>
#include<easyx.h>
#include<time.h>
#include<stdlib.h>
#include <Windows.h>
#include<math.h>
#include <conio.h>  
#pragma comment(lib,"winmm.lib")
#include<mmsystem.h>
IMAGE img;
IMAGE img1;
IMAGE img2;
IMAGE img3;
#define num 10
#define PI 3.14
struct Fire  //創(chuàng)建煙花彈結(jié)構(gòu)體類型
{
	int x, y;//初始坐標
	int max_x, max_y;//煙花最大高度
	IMAGE Img[2];//保存圖片
	bool boom;//是否要爆開
};
struct Fire fire[num];

struct Show
{
	int x, y;//綻放的位置
	int cx, cy;//煙花中心點坐標
	int r;//當前的半徑
	int max_r;//最大半徑
	int pixel[200][200];//圖片像素數(shù)組
	bool isshow;   // 是否綻放
	bool isdraw;	 // 開始輸出像素點
	DWORD t1, t2, dt;
	int width, height;
};
struct Show show[num];

void initshow(int i)//初始化煙花
{
	show[i].cx = 100;
	show[i].cy = 100;
	show[i].r = 0;
	show[i].max_r = 100;
	show[i].width = 200;
	show[i].height = 200;
	show[i].isshow = false;
	show[i].dt = 5;
	show[i].t1 = timeGetTime();//時間獲取速度
}


void initfire(int i)//初始化煙花彈
{
	fire[i].x = rand() % 700 + 100;//煙花彈坐標初始化x=100-800;y=100-400;
	fire[i].y = 600;
	fire[i].max_x = fire[i].x;
	fire[i].max_y = rand() % 300 + 100;
	fire[i].boom = false;
	loadimage(&fire[i].Img[0], "煙花彈.png", 20, 60);
}


void load()//加載煙花圖片
{
	for (int k = 0; k < num; k++)
		{	int a = rand() % 3 + 1;
			loadimage(&img1, "煙花1.png", 200, 200);//三種不同的煙花
			loadimage(&img2, "煙花2.png", 200, 200);
			loadimage(&img3, "煙花3.png", 200, 200);
			if(a==1)
				SetWorkingImage(&img1);
			else
				if(a==2)
					SetWorkingImage(&img2);
				else
					SetWorkingImage(&img3);
			for (int i = 0; i < 200; i++)
			{
				for (int j = 0; j < 200; j++)
				{
					show[k].pixel[i][j] = getpixel(i, j);//把圖片像素點放到數(shù)組中
				}
			}
		}
	SetWorkingImage(NULL);
}


void Draw(int i, DWORD* pMem)//繪制一圈像素點
{
	if (show[i].isdraw)
	{
		for (double a = 0; a <= 2*PI; a += 0.01)   //一圈628個像素點
		{
			//(x1,y1)是相對于煙花小圖片的 像素 坐標點
			int x1 = (int)(show[i].cx + show[i].r * cos(a));
			int y1 = (int)(show[i].cy + show[i].r * sin(a));

			if (x1 > 0 && x1 < show[i].width && y1>0 && y1 < show[i].height)
			{
				int b = show[i].pixel[x1][y1] & 0xff;   //blue
				int g = (show[i].pixel[x1][y1] >> 8) & 0xff;   //green
				int r = show[i].pixel[x1][y1] >> 16;   //red

				//(xx,yy)是相對于窗口的 像素 坐標點
				int xx = (int)(show[i].x + show[i].r * cos(a));
				int yy = (int)(show[i].y + show[i].r * sin(a));

				if (r > 0x20 && g > 0x20 && b > 0x20 && xx < 1000 && xx>0 && yy > 0 && yy < 600)
				{
					//把(x1,y1)坐標上的像素點 賦值 給(xx,yy)坐標點
					pMem[yy * 1000 + xx] = BGR(show[i].pixel[x1][y1]);
				}

			}
		}
		show[i].isdraw = false;
	}
}



void fire_boom(DWORD* pMem)//煙花綻放
{
	int  drt[16] = { 5, 5, 5, 5, 15, 15, 25, 25, 35, 35, 55, 55, 65, 65, 75, 75 };
		for (int i = 0; i < num; i++)
		{
			show[i].t2 = timeGetTime();
			if (show[i].t2 - show[i].t1 > show[i].dt && show[i].isshow == true)
			{
				if (show[i].r < show[i].max_r)
				{
					show[i].r++;
					show[i].dt = drt[show[i].r / 10];  //每十個煙花像素點改變一下煙花綻放的速度
					show[i].isdraw = true;

				}
				if (show[i].r >= show[i].max_r - 1)
					{
						show[i].isdraw = false;
						initshow(i);
						initfire(i);
					}

					//更新時間
					show[i].t1 = show[i].t2;
					//可以綻放的狀態(tài)
					Draw(i,pMem);
			}
		}
}


void fire_up()//煙花彈上升
{
		for (int i = 0; i < num; i++)
		{
			putimage(fire[i].x, fire[i].y, &fire[i].Img[0], SRCINVERT);//消除殘影
			if (fire[i].y > fire[i].max_y)
			{
				fire[i].y -= 10;//向上移動
			}
			else 
			{	//已到達最高點,準備綻放
				show[i].x = fire[i].x+10;
				show[i].y = fire[i].y;
				fire[i].boom = true;
				show[i].isshow = true;
			}
			putimage(fire[i].x, fire[i].y, &fire[i].Img[0], SRCINVERT);
		}
}



void word()//文字提醒-“請按任意鍵...”
{
	settextcolor(RED);
	settextstyle(25, 0, "宋體");
	outtextxy(400, 550, "請");
	Sleep(500);
	outtextxy(425, 550, "按");
	Sleep(500);
	outtextxy(450, 550, "任");
	Sleep(500);
	outtextxy(475, 550, "意");
	Sleep(500);
	outtextxy(500, 550, "鍵");
	Sleep(500);
	outtextxy(525, 550, ".");
	Sleep(500);
	outtextxy(550, 550, ".");
	Sleep(500);
	outtextxy(575, 550, ".");
}


int main()
{
	int i = 0;
	srand((unsigned int)time(NULL));
	initgraph(1000, 600);//初始化圖形界面
	loadimage(&img, "2023.png", 1000, 600);
	putimage(0,0,&img,SRCINVERT);//背景圖

	mciSendString("open 打上花火.mp3",0,0,0);//播放—“打上花火”
	mciSendString("play 打上花火.mp3", 0, 0, 0);

	Sleep(1000);

	word();//文字提醒-“請按任意鍵...”

	_getch();//輸入任意鍵繼續(xù)

	DWORD* pMem = GetImageBuffer();
	for (int i = 0; i < num; i++)//初始化煙花彈和煙花
	{
		initfire(i);
		initshow(i);
	}
	load();//加載煙花圖片
	while (1)
	{
		for (int i = 0; i < 3000; i++)
		{
			int px1 = rand() % 1000; // 0..1199
			int py1 = rand() % 600;  // 0.799
			pMem[py1 * 1000 + px1] = BLACK;
			pMem[py1 * 1000 + px1 + 1] = BLACK;	// 對顯存賦值擦出像素點		
		}
		fire_up();//發(fā)射煙花彈
		fire_boom(pMem);//煙花綻放
		Sleep(50);
	}
	return 0;
}

???運行效果如下:

c語言煙花燃放代碼,煙花代碼,c語言文章來源地址http://www.zghlxwxcb.cn/news/detail-721921.html

到了這里,關于C語言煙花代碼—兔年頂呱呱的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • python煙花代碼簡單可復制,python煙花代碼加名字

    python煙花代碼簡單可復制,python煙花代碼加名字

    本篇文章給大家談談Python煙花代碼總體功能介紹,以及python煙花代碼簡單可復制,希望對各位有所幫助,不要忘了收藏本站喔。 還有兩天就到元旦了?。?!很多小伙伴已經(jīng)和朋友約好一起跨年了 但是現(xiàn)在很多地方都禁止煙花燃放,跨年沒有煙花總感覺缺少一點味道~為了實現(xiàn)

    2024年03月15日
    瀏覽(22)
  • python煙花代碼簡單可復制,python煙花代碼怎么寫

    python煙花代碼簡單可復制,python煙花代碼怎么寫

    大家好,本文將圍繞Python煙花代碼總體功能介紹展開說明,python煙花代碼簡單可復制是一個很多人都想弄明白的事情,想搞清楚python煙花代碼怎么寫需要先了解以下幾個事情。 Source code download: 本文相關源碼 疫情太嚴重了,有很多小伙伴都不能出門玩耍了。給大家看一個特別

    2024年02月20日
    瀏覽(29)
  • python煙花代碼簡單可復制,python煙花代碼怎么運行

    python煙花代碼簡單可復制,python煙花代碼怎么運行

    大家好,小編來為大家解答以下問題,Python煙花代碼總體功能介紹,python煙花代碼簡單可復制,今天讓我們一起來看看吧! 天是2023?的第9天,到了這個時間點,部分小伙伴已經(jīng)開始復盤這一年的得與失。比如今年增加了多少技能點,看了多少本書,寫了多少篇文章或者年前

    2024年01月22日
    瀏覽(42)
  • Python煙花代碼,用Python制作一個煙花特效

    Python煙花代碼,用Python制作一個煙花特效

    Python實現(xiàn)浪漫的煙花特效 現(xiàn)在很多地方都不能放煙花了,既然看不到, 那作為程序猿的我們還不能自己用代碼做一個嗎? 今天就帶大家用代碼做一個煙花特效吧。 pygame介紹 關于Pygame的基本信息,pygame是什么,誰會被Pygame吸引,并且在哪里找到它。 Pygame是被設計用來寫游戲

    2024年02月08日
    瀏覽(23)
  • python煙花代碼通過編寫程序來模擬煙花的綻放過程

    下面是一個簡單的 Python 煙花代碼,可以通過編寫程序來模擬煙花的綻放過程: 該代碼使用 turtle 庫來繪制煙花的效果。首先,設置窗口大小和標題,定義煙花的顏色和數(shù)量。然后,定義煙花的形狀,采用 turtle.Shape 的方式來定義,包括圓形和尾跡。接著,注冊煙花的形狀,采

    2024年02月05日
    瀏覽(26)
  • python繪制煙花特定爆炸效果,用python畫煙花的代碼

    python繪制煙花特定爆炸效果,用python畫煙花的代碼

    大家好,給大家分享一下python繪制煙花特定爆炸效果,很多人還不知道這一點。下面詳細解釋一下?,F(xiàn)在讓我們來看看! 已經(jīng)2023年了 ,到了這個時間點,部分小伙伴已經(jīng)開始復盤這一年的得與失。比如今年增加了多少技能點,看了多少本書,寫了多少篇文章或者年前的小目

    2024年04月10日
    瀏覽(21)
  • 煙花代碼(本人親測,有效)

    代碼如下:

    2024年02月12日
    瀏覽(16)
  • 新年煙花代碼-html版

    新年煙花代碼-html版

    2024年02月02日
    瀏覽(23)
  • C++ 煙花代碼

    編譯后的程序要創(chuàng)建fire文件夾且與程序在同一個目錄 file文件夾的內(nèi)容及樣例 : https://wwac.lanzouf.com/i3fdS0r1hy1g 無提取碼

    2024年01月17日
    瀏覽(15)
  • python煙花代碼

    python煙花代碼

    下面是一個用Python編寫的簡單煙花特效代碼,使用了Pygame庫來實現(xiàn)圖形顯示。請確保你已經(jīng)安裝了Pygame庫,如果沒有安裝,可以使用 pip install pygame 來安裝。 這個代碼創(chuàng)建了一個窗口,當你點擊鼠標時,會在鼠標位置生成煙花粒子效果。這只是一個簡單的示例,你可以根據(jù)需

    2024年02月06日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包