C语言表白流星(末尾附加下载地址)

C语言表白流星(末尾附加下载地址)

流星雨代表着浪漫,代表着两个人的快乐,代表着幸运,代表着最美好的回忆,和永恒的不变的愿望,废话不多少赶快将代码运行起来,运行效果和源代码如下
但是如果复制粘贴时注意一下你想放入图片的命名哟,文件的摆放可供参考,想要了解更多可以关注一下博主,可以了解更多c语言知识、C语言小技能和有意思的代码
以下式博主业余时间弄的小作品吧,希望大家热爱C语言的小伙伴们能喜欢,也希望对于初学者的小伙伴们能有所帮助,该文件已经上传到了百度网盘,可以复制链接自行下载,也可以联系相关人员获取源文件。以下为该文件的效果图
在这里插入图片描述在这里插入图片描述

以下是部分源代码如下:

#include<time.h>
#include <graphics.h>//图形库头文件
#pragma comment(lib,"winmm.lib")
#define MAXStar 3000 //星星
#define MAXMETEOR 200 //流星
IMAGE img1, img2, img3, img4;
struct STAR0
{
    int x, y;
    int v;
    int style;//图片样式
}meteor[MAXMETEOR];
//制造数据
void  initData()
{
    //初始化数据
    loadimage(&img1, "1.jpg", 40, 40);
    loadimage(&img2, "2.jpg", 40, 40);
    loadimage(&img3, "3.jpg", 40, 40);
    loadimage(&img4, "4.jpg", 40, 40);
    //初始化星星
    int i;
    for (i = 0; i < MAXStar; i++)
    {
        initStar(i);
        star[i].x = rand() % 800;
    }
    //初始化流星
    for (i = 0; i < MAXMETEOR; i++)
    {
        initMeteor(i);
        meteor[i].x = rand() % 1000;
    }
}
//初始化星星
void initStar(int i)
{
    star[i].x = rand() % 1000;
    star[i].y = rand() % 1000;
    star[i].v = rand() % 10;
    star[i].color = RGB(star[i].v * 51, star[i].v * 51, star[i].v * 51);//255/5=51;
}
//初始化流星
void initMeteor(int i)
{
    meteor[i].x = rand() % 2000 - 10000;
    meteor[i].y = -200;
    do
    {
        meteor[i].v = rand() % 30 + 1;
    } while (meteor[i].v < 3);//避免出现速度过慢的
    meteor[i].style = rand() % 4 + 1;//1-4
}
//移动星星
void moveStar(int i)
{
    putpixel(star[i].x, star[i].y, 0);
    star[i].x += star[i].v;
    if (star[i].x > 1000)
        initStar(i);
    putpixel(star[i].x, star[i].y, star[i].color);
}
//移动流星
void moveMeteor()
{
    for (int i = 0; i < MAXMETEOR; i++)
    {
        meteor[i].x += meteor[i].v * 0.5;//初始化一个水平方形打的速度
        meteor[i].y += meteor[i].v * 1;//初始化方向加快一点速度  也可以不用 * 后面的数值    
    }
}

int main()
{
    srand((unsigned int)time(NULL));
    initgraph(1000, 700);
    initData();
    mciSendString("open 123.mp3 ", 0, 0, 0);//背景音乐
    mciSendString("play 123.mp3 repeat", 0, 0, 0);

    while (1)
    {

        cleardevice();
        for (int i = 0; i < MAXStar; i++)
        {
            moveStar(i);
        }
        moveMeteor();
        drawMeteor();
        Sleep(100);

    }
    closegraph();
    return 0;
}

希望该源文件能对你们有所帮助,有需要可以随时联系博主,请教或指导都可联系。
以下是下载该文件的地址
链接网盘下载:https://pan.baidu.com/s/1BTnzY9zH3E21QVBy1wKpsQ
提取码:50qo
提取链接:https://pan.baidu.com/s/1moIBRfffayGpIkhl4l1Azw
提取码:4oce

如果是需要该动小作品的小伙伴呢可能你就要少吃一顿肉了哟(2.99)
如果链接失效的话就通过以下方式获取:
C语言爱心图片表白程序源代码.zip

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿网

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值