C/C++编程笔记:浪漫流星雨装b表白程序

36 篇文章 0 订阅
24 篇文章 0 订阅

作为一个未来可能会成为一个专业程序员的小伙们,不知道你们现在学到哪里了,学了点东西之后有没有想在你女朋友面前装个大大的b呢,今天小编就给你一个机会来研究一下下边的代码吧,保证大写的N,当然大佬是排除在外的!

直接源码分享:

#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

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值