java制作超炫流星雨表白_[源码分享]C语言浪漫流星雨表白程序!

效果展⽰
int x, y;
int step;
int color;
}star[MAXSTAR];
//流星的属性
struct Meteor
{
int x, y;
int step;
int style;
}meteor[MAXMETEOR];
//初始化星星
void initStar(int i)
{
star[i].x = rand() % 1000;//[0,999]
star[i].y = rand() % 600;
star[i].step = rand() % 6+3;//[0,5]
star[i].color = RGB(rand() % 255, rand() % 255, rand() % 255); }
//画星星和移动星星
void moveStar(int i)
{
/
/画像素点
putpixel(star[i].x, star[i].y, star[i].color);
//移动处理
star[i].x += star[i].step;
//如果移动到了窗⼝外⾯
if (star[i].x > 1000)
{
putpixel(star[i].x, star[i].y, star[i].color);
initStar(i);
}
}
void initMeteor(int i)
{
meteor[i].x = rand() % 2000-1000;//[-1000,999] meteor[i].y = -600;//[0,599]-600-->[-600,-1]
meteor[i].step = rand() % 30 + 2;
meteor[i].style = rand() % 3; //[0,2]-->0,1,2
}
//初始化数据
void initDate(int i)
{
//加载图⽚
loadimage(&img1, "1.jpg", 30, 30);
loadimage(&img2, "2.jpg",40, 40);
loadimage(&img3, "3.jpg", 50, 50);
for (i = 0; i < MAXSTAR; i++)
{
initStar(i);
}
for (i = 0; i < MAXMETEOR; i++)
{
initMeteor(i);
}
}
/
/画流星:贴图
void drawMeteor(int i)
{
for (i = 0; i < MAXMETEOR; i++)
{
switch (meteor[i].style)
{
case 0:
putimage(meteor[i].x, meteor[i].y, &img1,SRCPAINT); break;
putimage(meteor[i].x, meteor[i].y, &img2, SRCPAINT);
break;
case 2:
putimage(meteor[i].x, meteor[i].y, &img3, SRCPAINT);
break;
}
}
}
mp3制作//移动流星
void moveMeteor(int i)
{
for (i = 0; i < MAXMETEOR; i++)
{
meteor[i].x += meteor[i].step;
meteor[i].y += meteor[i].step;
//如果流星跑到窗⼝外⾯
if (meteor[i].x>1000 || meteor[i].y > 600)
{
initMeteor(i);
}
}
}
//⽂字输出
void text()
{
settextcolor(RGB(rand() % 255, rand() % 255, rand() % 255));
settextstyle(30, 0, "楷体");
char* text[50] = { "X", "X", "X", "我", "喜", "欢", "你", "做", "我", "⼥", "朋", "友", "吧", "!", }; int x = 450, y = 100;
for (int i = 0; i < 14; i++)
{
if (i<7)
outtextxy(x, y + i * 50, text[i]);
outtextxy(x+100, y + (i-7) * 50, text[i]);
}
}
int main()
{
initgraph(1000, 600);
mciSendString("open 2.mp3", 0, 0, 0); mciSendString("play 2.mp3 repeat", 0, 0, 0); srand((unsigned int)time(NULL));//随机函数种⼦setbkmode(TRANSPARENT);
int i = 0;
initDate(i);
while (1)
{
cleardevice();
for (i = 0; i < MAXSTAR; i++)
{
moveStar(i);
}
drawMeteor(i);
moveMeteor(i);
text();
Sleep(100);
}
_getch();
closegraph();
return 0;
}

本文发布于:2024-09-21 15:44:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/350330.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:流星   移动   制作   贴图   处理
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议