鱼C论坛

 找回密码
 立即注册
查看: 1669|回复: 1

求大佬帮忙看看

[复制链接]
发表于 2021-7-15 21:16:37 From FishC Mobile | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>  
  
#include<graphics.h>    //图形库:easyX201905  
  
#include<conio.h>  
  
#include<time.h>  
  
#define MAXSTAR 1314  
  
#define MAXMETEOR 520  
  
//结构体  
  
//几个星星:1000  
  
struct Star  
  
{  
  
    int x, y;  
  
    int color;  
  
    int step;  
  
}star[MAXSTAR];  
  
//流星结构  
  
struct Meteor  
  
{  
  
    int x, y;  
  
    int style;  
  
    int step;  
  
}meteor[MAXMETEOR];  
  
IMAGE img1, img2;//1.定义图片变量  
  
void printText()  
  
{  
  
    //设置文字颜色  
  
    settextcolor(RGB(255, 0, 255));//三原色:红,绿,蓝  
  
    //调整字体大小  
  
    settextstyle(50, 0, "华文行楷");  
  
    //你的文采:发到公屏上  
  
    /*

        海底月是天上月,眼前人是心上人

        春分十里,我喜欢你

        终是庄周圆了梦

        这是我的手背,这是我的脚背,你是我的宝贝。

        一粥一饭/不及你/颦颦一笑

        问君能有几多愁?家人未入眼帘人消瘦

        我喜欢你,像风走了八万里,不问归期

        白酒清欢无别事,我在等风也在等你

        就承认一笑倾城一见自难忘

        问君能有几多愁?佳人未入眼帘人消瘦

        ABCDEFGHIJKLMNOPQRSTVWXYZ

    */  
  
    //在指定位置输出字符串  
  
    outtextxy(450, 20, "七夕到了,炮姐我喜欢你");  
  
    //设置文字颜色  
  
    settextcolor(RGB(0, 255, 255));//三原色:红,绿,蓝  
  
    //调整字体大小  
  
    settextstyle(40, 0, "华文行楷");  
  
    outtextxy(200, 100, "终是庄周圆了梦");  
  
    outtextxy(200, 150, "春分十里,我喜欢你");  
  
    outtextxy(200, 200, "一粥一饭不及你颦颦一笑");  
  
    outtextxy(200, 250, "就承认一笑倾城一见自难忘");  
  
    outtextxy(200, 300, "海底月是天上月,眼前人是心上人");  
  
    outtextxy(200, 350, "白酒清欢无别事,我在等风也在等你");  
  
    outtextxy(200, 400, "ABCDEFGHIJKLMNOPQRSTVWXYZ");  
  
    outtextxy(200, 450, "    我喜欢你,像风走了八万里,不问归期");  
  
    outtextxy(200, 500, "问君能有几多愁?佳人未入眼帘人消瘦");  
  
    outtextxy(200, 550, "这是我的手背,这是我的脚背,你是我的宝贝。");  
  
    outtextxy(300, 600, "----------------------------------爱你的艺辰");  
  
    _getch();//按键  
  
}  
  
//放大招:流星雨  
  
//初始化星星  
  
void initStar(int i)  
  
{  
  
    //随机产生坐标,颜色,速度  
  
    star[i].x = rand() % 1200;  
  
    star[i].y = rand() % 800;  
  
    star[i].color = RGB(rand() % 256, rand() % 256, rand() % 256);  
  
    star[i].step = rand() % 10;  
  
}  
  
//画星星  
  
void drawStar(int i)  
  
{  
  
    //画像素点:在初始化星星的坐标  
  
    putpixel(star[i].x, star[i].y, star[i].color);  
  
    //移动星星:给它速度  
  
    star[i].x += star[i].step;  
  
    //跑到窗口外面的星星:初始化  
  
    if (star[i].x >= 1200)  
  
    {  
  
        putpixel(star[i].x, star[i].y, star[i].color);  
  
        initStar(i);  
  
    }  
  
}  
  
//流星  
  
//初始化流星  
  
void initMeteor(int i)  
  
{  
  
    meteor[i].x = rand()%2200-1000;//[-1200,1199]  
  
    meteor[i].y = rand()%20-200;  
  
    meteor[i].style = rand() % 2;    //0,1  
  
    meteor[i].step = rand() % 30 + 1;//+3 :流星的速度不为0  
  
}  
  
//画流星:贴图技术  
  
void drawMeteor(int i)  
  
{  
  
    //3.贴图:显示图片  
  
    for (i = 0; i < MAXMETEOR; i++)  
  
    {  
  
        switch (meteor[i].style)  
  
        {  
  
        case 0:  
  
            putimage(meteor[i].x, meteor[i].y, &img1,SRCPAINT);  
  
            break;  
  
        case 1:  
  
            putimage(meteor[i].x, meteor[i].y, &img2, SRCPAINT);  
  
            break;  
  
        }  
  
    }  
  
}  
  
//移动流星  
  
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 >= 1200 || meteor[i].y >= 800)  
  
        {  
  
            initMeteor(i);  
  
        }  
  
    }  
  
}  
  
int main()  
  
{  
  
    //2.加载图片  
  
    loadimage(&img1, "1.jpg", 50, 50);  
  
    loadimage(&img2, "2.jpg", 50, 50);  
  
    //界面:初始化图形环境宽度,高度  
  
    initgraph(1200, 800);  
  
    //随机函数种子:如果不播种:随机出来的是伪随机  
  
    srand((unsigned int)time(NULL));  
  
    printText();  
  
    int i = 0;  
  
    for ( i = 0; i < MAXSTAR; i++)  
  
    {  
  
        initStar(i);  
  
    }  
  
    for (i = 0; i < MAXMETEOR; i++)  
  
    {  
  
        initMeteor(i);  
  
    }  
  
    drawMeteor(i);  
  
    while (1)  
  
    {  
  
        BeginBatchDraw();  
  
        cleardevice();  
  
        for (i = 0; i < MAXSTAR; i++)  
  
        {  
  
            drawStar(i);  
  
        }  
  
        drawMeteor(i);  
  
        moveMeteor(i);  
  
        Sleep(100);  
  
        EndBatchDraw();  
  
    }  
  
  
  
    while (1);    //卡屏 _getch()函数  
  
    closegraph();//关闭图形环境  
  
    return 0;  
  
}  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-7-15 21:21:02 From FishC Mobile | 显示全部楼层
这是本身就是错的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 06:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表