浏览 745 次
锁定老帖子 主题:C/C++编程笔记:浪漫流星雨表白装b程序
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2020-11-26
直接源码分享: #include #include //图形库:easyX201905 #include #include #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; } 代码都给你们了,还在等什么呢?GOGOGO! 自学C/C++编程难度很大,如果你想更快提升自己的编程能力和编写项目的水平,欢迎一起共同成长! C语言C++编程学习交流圈子,Q群【928550752】 有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦! 提升C编程能力 http://www.makeru.com.cn/live/1392_1166.html?s=45051 夯实C语言,从小白到大牛的进阶之路! http://www.makeru.com.cn/live/5413_1980.html?s=45051 指针 http://www.makeru.com.cn/live/1392_238.html?s=45051 指针换装你还认识吗 http://www.makeru.com.cn/live/5413_2043.html?s=45051 C语言控制led灯 http://www.makeru.com.cn/live/1392_304.html?s=45051 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |