资源简介

强制一分,有图形界面,绚烂多彩,可以下来看看,笔者可解答

资源截图

代码片段和文件信息

/*	作者相关:王鑫 (228670568@qq.com)				    */
#include 
#include 
#include 
#include 
#include 
#include 
#include  // 使用该计时器必须包含的文件
#pragma comment ( lib “Winmm.lib“ )

/***** 宏定义区 ******/

#define NUM 13 // 烟花种类数量宏定义

/***** 结构定义区 **********/

// 烟花结构
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[8];
int HAPPY::num = 0;

//  结构
struct WISH // 滚动祝福图片结构
{
int x y; // 图片左上角坐标
DWORD t1 t2 dt; // 图片运动时间间隔
IMAGE img; // 储存图片
int dxy; // 每次的移动量
byte dir : 1; // 限制两个滚动方向
}Wish;

/**** 函数申明区 ****/

void Init(int); // 初始化烟花
void Load(); // 加载烟花图片
void Shoot(); // 发射烟花
void Chose(DWORD&); // 筛选烟花
void Wishing(); // 滚动祝福
void style(DWORD&); // 发射样式
void Show(DWORD*); // 绽放烟花


// 主函数
void main()
{
initgraph(1200 800);
srand(time(0));

// 播放背景音乐
mciSendString(“open ./fire/bk.mp3 alias bk“ 0 0 0);
mciSendString(“play bk repeat“ 0 0 0);

setfillstyle(0);
settextstyle(36 0 “楷体“);
setcolor(YELLOW);
outtextxy(370 100 “xx鑫鑫出品 .... ^_^“);

DWORD t1 = timeGetTime(); // 筛选烟花计时
DWORD st1 = timeGetTime(); // 播放花样计时
DWORD* pMem = GetImageBuffer(); // 获取窗口显存指针

for (int i = 0; i < NUM; i++) // 初始化烟花
{
Init(i);
}
Load(); // 将烟花图片信息加载进相应结构中
BeginBatchDraw(); // 开始批量绘图

while (!_kbhit())
{
Sleep(10);

// 随机选择 4000 个像素点擦除
for (int clr = 0; clr < 1000; clr++)
{
for (int j = 0; j < 2; j++)
{
int px1 = rand() % 1200;
int py1 = rand() % 800;

if (py1 < 799) // 防止越界
pMem[py1 * 1200 + px1] = pMem[py1 * 1200 + px1 + 1] = BLACK; // 对显存赋值擦出像素点
}
}
Chose(t1); // 筛选烟花
Shoot(); // 发射烟花
Show(pMem); // 绽放烟花
Wishing(); // 滚动字符
style(st1); // 花样发射
FlushBatchDraw(); // 显示前面的所有绘图操作
}
}


// 初始化烟花参数
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;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-14 15:51  纯净烟花啊\
     目录           0  2018-11-14 15:45  纯净烟花啊\Debug\
     文件      994304  2018-11-14 15:45  纯净烟花啊\Debug\vc140.idb
     文件      471040  2018-11-14 15:45  纯净烟花啊\Debug\vc140.pdb
     文件       84129  2018-11-14 15:45  纯净烟花啊\Debug\源.obj
     文件         359  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.log
     目录           0  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\
     文件         538  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\CL.command.1.tlog
     文件       33050  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\CL.read.1.tlog
     文件         312  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\CL.write.1.tlog
     文件         986  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\link.command.1.tlog
     文件        2640  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\link.read.1.tlog
     文件         296  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\link.write.1.tlog
     文件         199  2018-11-14 15:45  纯净烟花啊\Debug\纯净烟花啊.tlog\纯净烟花啊.lastbuildstate
     目录           0  2018-11-14 15:45  纯净烟花啊\fire\
     文件       66762  2018-11-14 15:44  纯净烟花啊\fire\3.jpg
     文件     4341059  2015-03-31 17:51  纯净烟花啊\fire\bk.mp3
     文件       82412  2015-03-31 17:51  纯净烟花啊\fire\bomb.wav
     文件     2246454  2015-03-31 17:51  纯净烟花啊\fire\flower.jpg
     文件       37099  2015-03-31 17:51  纯净烟花啊\fire\happy.jpg
     文件       68043  2018-09-08 13:36  纯净烟花啊\fire\happyteach.jpg
     文件       17764  2015-03-31 17:51  纯净烟花啊\fire\shoot.jpg
     文件       89486  2015-03-31 17:51  纯净烟花啊\fire\shoot.mp3
     文件       11067  2018-11-14 15:51  纯净烟花啊\源.cpp
     文件      134144  2018-09-08 16:06  纯净烟花啊\纯净烟花啊.exe
     文件        7386  2018-09-08 16:06  纯净烟花啊\纯净烟花啊.vcxproj
     文件         944  2018-09-08 16:05  纯净烟花啊\纯净烟花啊.vcxproj.filters

评论

共有 条评论