栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c/c++流星表白代码(写得太勉强了,还得练)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c/c++流星表白代码(写得太勉强了,还得练)

#define num 300
IMAGE star[3];
IMAGE img_bk[2];

struct Meteor
{
    int x;
    int y;
    int speed;
}; Meteor meteor [num];
//初始化
void initMeteor(int i)
{
    meteor[i].x=rand()%(2*getwidth())- getwidth();//流星出现的位置[-1200,1200]防止突兀出现
    meteor[i].y=rand()%20-200;
    meteor[i].speed=rand()%20+1;
}
//绘制100张流星图
void drawMeteor()
{
    int i = 0;
    for (i = 0; i < num; i++)
    {
        
        putimage(meteor[i].x, meteor[i].y, star+rand()%3, SRCPAINT);
    }
}
//移动
void moveMeteor()
{
    int i = 0;
    
        for (i = 0; i < num; i++)
        {
            meteor[i].x += meteor[i].speed;
            meteor[i].y += meteor[i].speed;
            if (meteor[i].y > getheight() || meteor[i].x >  getwidth())
            {
                initMeteor(i);
            }

        }
    
}
void Start()
{
    int i = 0;
    mciSendString(_T("open m.mp3"),NULL,0,NULL);
    mciSendString(_T("play m.mp3"), NULL, 0, NULL);
    srand((unsigned)time(NULL));
    //设置背景
    setbkmode(TRANSPARENT);
    while (!_kbhit())//如果没有键盘按下,就一直循环,头文件"conio.h"
    {

        //清屏
        cleardevice();
        
        putimage(0, 0, img_bk+1);
        settextstyle(25, 0, _T("华文行楷"));
        
        settextcolor(RGB(rand() % 230, rand() % 111, rand() % 208));
        
        outtextxy(200, 50, _T("曾经我把你遗落在星辰里,现在我踏着满天星辰去寻你"));
        outtextxy(60, 100, _T("满眼星河皆是你,又觉满天星河不如你"));
        
            for (i = 0; i < 10; i++)
            {
                outtextxy(rand() % getwidth(), rand() % getheight(), _T("♥"));
            }
            Sleep(1000);
    }
}
int main()
{
    int i = 0;
    initgraph(1200, 800);
    loadimage(img_bk + 1, _T("p.jpeg"), getwidth(), getheight());
    loadimage(img_bk,_T("p1.jpg"),getwidth(),getheight());
    
    loadimage(star, _T("star.jpg"), 50,50);
    loadimage(star+1, _T("star1.jpg"), 50, 50); 
    loadimage(star+2, _T("star2.jpg"), 50, 50);
    Start();
    for (i = 0; i < num; i++)
    {
        initMeteor(i);
    }
    //防止闪屏
    BeginBatchDraw();//双缓冲
    while (true)
    {
        putimage(0, 0, img_bk);
        drawMeteor();
        moveMeteor();
        Sleep(50);
        FlushBatchDraw();//刷新
    }
    EndBatchDraw();
    getchar();
    
    return 0 ;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/949829.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号