520C语言表白神器

你向窗外看烟火,我在窗边看你,这时,你比烟花好看的多,你的眼眸倒映满天的烟火,我的瞳孔倒影你闪光的眼色,这时,我比烟花寂寞。

现在不会大家都觉得程序员不懂浪漫吧

现在不会大家都觉得程序员不懂浪漫吧

真的大错特错,今天就让你们看看什么是程序员的浪漫!

今天我们就来写写《烟花》表白程序,学会了快去发给喜欢的人!!!

一、结构体

首先当然是我们的老朋友结构体,其中艺术字结构体不用我多说,该写什么内容自己应该知道哈

// 烟花结构
struct FIRE
{
	int r;					// 当前爆炸半径
	int max_r;				// 爆炸中心距离边缘最大半径
	int x, y;				// 爆炸中心在窗口的坐标
	int cen_x, cen_y;		// 爆炸中心相对图片左上角的坐标
	int width, height;		// 图片的宽高
	int xy[240][240];		// 储存图片像素点
 
	bool show;				// 是否绽放
	bool draw;				// 开始输出像素点
	DWORD t1, t2, dt;		// 绽放速度
}Fire[NUM];
 
// 烟花弹结构
struct JET
{
	int x, y;				// 喷射点坐标
	int hx, hy;				// 最高点坐标------将赋值给 FIRE 里面的 x, y
	int height;				// 烟花高度
	bool shoot;				// 是否可以发射
 
	DWORD t1, t2, dt;		// 发射速度
	IMAGE img[2];			// 储存花弹一亮一暗图片
	byte n : 1;				// 图片下标
}Jet[NUM];
 
// happy birthday 艺术字结构
struct HAPPY				// 储存 Happy Birthday 艺术字图片
{
	int x, y;				// 每个字的图片的左上角坐标
	IMAGE img;				// 储存单个字图片
	static int num;			// 字母序号
}Happy[NUM];

 

二、初始化

初始化烟花参数,把一切准备工作完成好

 

// 初始化烟花参数
void Init( int i )
{
	// 分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离 (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, 93,  102, 102, 110, 105, 100, 108, 110 };
	int y[13] = { 120, 120, 85,  118, 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;				// 绽放时间间
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值