xingkongmobudai 发表于 2021-7-15 21:16:37

求大佬帮忙看看

#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;

//流星结构

struct Meteor

{

    int x, y;

    int style;

    int step;

}meteor;

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.x = rand() % 1200;

    star.y = rand() % 800;

    star.color = RGB(rand() % 256, rand() % 256, rand() % 256);

    star.step = rand() % 10;

}

//画星星

void drawStar(int i)

{

    //画像素点:在初始化星星的坐标

    putpixel(star.x, star.y, star.color);

    //移动星星:给它速度

    star.x += star.step;

    //跑到窗口外面的星星:初始化

    if (star.x >= 1200)

    {

      putpixel(star.x, star.y, star.color);

      initStar(i);

    }

}

//流星

//初始化流星

void initMeteor(int i)

{

    meteor.x = rand()%2200-1000;//[-1200,1199]

    meteor.y = rand()%20-200;

    meteor.style = rand() % 2;    //0,1

    meteor.step = rand() % 30 + 1;//+3 :流星的速度不为0

}

//画流星:贴图技术

void drawMeteor(int i)

{

    //3.贴图:显示图片

    for (i = 0; i < MAXMETEOR; i++)

    {

      switch (meteor.style)

      {

      case 0:

            putimage(meteor.x, meteor.y, &img1,SRCPAINT);

            break;

      case 1:

            putimage(meteor.x, meteor.y, &img2, SRCPAINT);

            break;

      }

    }

}

//移动流星

void moveMeteor(int i)

{

    for (i = 0; i < MAXMETEOR; i++)

    {

      meteor.x += meteor.step;

      meteor.y += meteor.step;

      if (meteor.x >= 1200 || meteor.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;

}

xingkongmobudai 发表于 2021-7-15 21:21:02

这是本身就是错的吗
页: [1]
查看完整版本: 求大佬帮忙看看