资源简介
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个文件信息
相关资源
- 国际象棋的qt源代码
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论