资源简介
C++打造流星雨特效源代码,基于EasyX图形库,带有背景音乐
代码片段和文件信息
#include
#include
#include
#pragma comment(lib “winmm.lib“)
#define MAXSTAR 30
#define MAXSTAR1 1000
IMAGE img1 img2;
struct STAR
{
int x;
int y;
int step;
int style;
}star[MAXSTAR];
struct STAR1 //星星结构体
{
int x;
int y; //星星坐标
int step; //移动速度
COLORREF color; //星星颜色
}star1[MAXSTAR1];
void initData();
void initStar1(int i);
void initStar(int i);
void moveStar1(int i);
void moveStar();
void DrawStar();
int main()
{
mciSendString(“open 凉凉.mp3 alias music“ 0 0 0);
mciSendString(“play music repeat“ 0 0 0);
initData();
while (1)
{
BeginBatchDraw();
cleardevice();
for (int i = 0; i != MAXSTAR1; ++i)
{
moveStar1(i);
}
moveStar();
DrawStar();
Sleep(100);
EndBatchDraw();
}
return 0;
}
void initData()
{
srand((unsigned int)time(nullptr));
initgraph(640 480);
loadimage(&img1 “2.jpg“ 50 50);
loadimage(&img2 “3.jpg“ 50 50);
for (int i = 0; i != MAXSTAR1; ++i)
initStar1(i);
for (int i = 0; i != MAXSTAR; ++i)
initStar(i);
}
void initStar1(int i)
{
star1[i].x = rand() % 640;
star1[i].y = rand() % 480;
star1[i].step = rand() % 5;
star1[i].color = RGB(star1[i].step * 51 star1[i].step * 51 star1[i].step * 51);
}
void initStar(int i)
{
star[i].x = rand() % 1280 - 640; //-640-639
star[i].y = -144;
do
{
star[i].step = rand() % 30 + 1;
} while (star[i].step < 5);
star[i].style = rand() % 2;
}
void moveStar1(int i)
{
// putpixel(star1[i].x star1[i].y RGB(0 0 0));
star1[i].x += star1[i].step;
if (star1[i].x > 640)
{
initStar1(i);
star1[i].x = 0;
}
putpixel(star1[i].x star1[i].y star1[i].color);
}
void moveStar()
{
for (int i = 0; i != MAXSTAR; ++i)
{
star[i].x += star[i].step;
star[i].y += star[i].step * 480 / 640;
if (star[i].x > 640 || star[i].y > 480)
initStar(i);
}
}
void DrawStar()
{
for (int i = 0; i != MAXSTAR; ++i)
{
switch (star[i].style)
{
case 0:
putimage(star[i].x star[i].y &img1 SRCPAINT);
break;
case 1:
putimage(star[i].x star[i].y &img2 SRCPAINT);
break;
}
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 62932 2018-07-15 08:58 流星雨\Debug\1.jpg
文件 16367 2018-07-15 08:01 流星雨\Debug\2.jpg
文件 16422 2018-07-15 08:01 流星雨\Debug\3.jpg
文件 5373563 2018-07-15 08:01 流星雨\Debug\凉凉.mp3
文件 115712 2018-07-15 10:34 流星雨\Debug\流星雨.exe
文件 850676 2018-07-15 10:34 流星雨\Debug\流星雨.ilk
文件 880640 2018-07-15 10:34 流星雨\Debug\流星雨.pdb
文件 62932 2018-07-15 08:58 流星雨\流星雨\1.jpg
文件 16367 2018-07-15 08:01 流星雨\流星雨\2.jpg
文件 16422 2018-07-15 08:01 流星雨\流星雨\3.jpg
文件 248832 2018-07-15 10:34 流星雨\流星雨\Debug\vc141.idb
文件 143360 2018-07-15 10:34 流星雨\流星雨\Debug\vc141.pdb
文件 750 2018-07-15 09:17 流星雨\流星雨\Debug\流星雨.Build.CppClean.log
文件 84 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.log
文件 534 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog\CL.command.1.tlog
文件 25152 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog\CL.read.1.tlog
文件 272 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog\CL.write.1.tlog
文件 926 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog\li
文件 3120 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog\li
文件 256 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog\li
文件 201 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog\流星雨.lastbuildstate
文件 29531 2018-07-15 10:34 流星雨\流星雨\Debug\源.obj
文件 5373563 2018-07-15 08:01 流星雨\流星雨\凉凉.mp3
文件 5940 2018-07-15 08:34 流星雨\流星雨\流星雨.vcxproj
文件 948 2018-07-15 08:34 流星雨\流星雨\流星雨.vcxproj.filters
文件 165 2018-07-15 08:27 流星雨\流星雨\流星雨.vcxproj.user
文件 2194 2018-07-15 10:35 流星雨\流星雨\源.cpp
文件 1441 2018-07-15 08:27 流星雨\流星雨.sln
目录 0 2018-07-15 10:34 流星雨\流星雨\Debug\流星雨.tlog
目录 0 2018-07-15 10:34 流星雨\流星雨\Debug
............此处省略6个文件信息
相关资源
- IP流量包分析程序
- Programming Abstractions in C++
- C++课后小练习(类、继承、多态等有
- VC++面向对象与可视化程序设计第三版
- C++程序设计教程_钱能主编_清华大学出
- 语音识别的算法实现C++
- 员工工资管理系统C++与SQL课程设计
- 基于MFC的流程图绘制工具
- 进销存管理系统 VC6.0 C++
- Effective C++ Third Edition 英文 第3版 PDF
- C++ Socket 多线程多机聊天
- DevC++ 4.9
- opengl c++读取obj文件
- 学生管理系统 sql数据库 VisualC++ 软件
- C++语言程序设计(郑莉) 源码
- 进程同步与互斥C++
- 手写数字识别_附带VC++源程序和训练素
- vc++ 数字图像处理典型算法及实现 源
- ATM源代码用c++文件读写.zip
- C++聊天程序源程序有服务器和客户端
- vc++使用大漠使用和dll头文件等.rar
- 画图软件(直线、矩形、椭圆、三角
- 扫雷源代码C++
- 学生成绩管理系统C++附报告
- C++ MFC 简单计算器完善+注释
- 在vs中仿真uc/gui的例程,摆脱vc++
- 单向链表类模板全C++
- 机载激光雷达 Las格式读写及显示
- C/C++文件系统树状结构
- C++ 图像压缩算法
评论
共有 条评论