作为一个未来可能会成为一个专业程序员的小伙们,不知道你们现在学到哪里了,学了点东西之后有没有想在你女朋友面前装个大大的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

C/C++编程笔记:浪漫流星雨表白装b程序的更多相关文章

  1. storysnail的Linux串口编程笔记

    storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ...

  2. Shell编程笔记

    Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理.   修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...

  3. python核心编程--笔记

    python核心编程--笔记 的解释器options: 1.1 –d   提供调试输出 1.2 –O   生成优化的字节码(生成.pyo文件) 1.3 –S   不导入site模块以在启动时查找pyt ...

  4. 数据结构(逻辑结构,物理结构,特点) C#多线程编程的同步也线程安全 C#多线程编程笔记 String 与 StringBuilder (StringBuffer) 数据结构与算法-初体验(极客专栏)

    数据结构(逻辑结构,物理结构,特点) 一.数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关.逻辑结构包括: 集合 数 ...

  5. Python编程笔记二进制、字符编码、数据类型

    Python编程笔记二进制.字符编码.数据类型 一.二进制 bin() 在python中可以用bin()内置函数获取一个十进制的数的二进制 计算机容量单位 8bit = 1 bytes 字节,最小的存 ...

  6. java并发编程笔记(十一)——高并发处理思路和手段

    java并发编程笔记(十一)--高并发处理思路和手段 扩容 垂直扩容(纵向扩展):提高系统部件能力 水平扩容(横向扩容):增加更多系统成员来实现 缓存 缓存特征 命中率:命中数/(命中数+没有命中数) ...

  7. 风变编程笔记(二)-Python爬虫精进

    第0关  认识爬虫 1. 浏览器的工作原理首先,我们在浏览器输入网址(也可以叫URL),然后浏览器向服务器传达了我们想访问某个网页的需求,这个过程就叫做[请求]紧接着,服务器把你想要的网站数据发送给浏 ...

  8. C# 高效编程笔记2

    C# 高效编程笔记2 1.理解GetHashCode()的陷阱 (1)作用:作为基于散列集合定义键的散列值,如:HashSet<T>,Dictionary<K,V>容器等 (2 ...

  9. C# 高效编程笔记1

    C# 高效编程笔记1 1.使用属性而不是可访问的数据成员 (1).NET Framework中的数据绑定类仅支持属性,而不支持共有数据成员 (2)属性相比数据成员更容易修改 2.用运行时常量(read ...

随机推荐

  1. 【第一篇】- Maven 系列教程之Spring Cloud直播商城 b2b2c电子商务技术总结

    Maven 教程 Maven 翻译为"专家"."内行",是 Apache 下的一个纯 Java 开发的开源项目.基于项目对象模型(缩写:POM)概念,Maven ...

  2. 解决sofaboot项目右键入口方法没有run sofa application

    选中入口方法名,右键出现run sofa application

  3. 用Python实现童年的21款小游戏,有你玩过的吗?(不要错过哦)

    Python为什么能这么火热,Python相对于其他语言来说比较简单,即使是零基础的普通人也能很快的掌握,在其他方面比如,处于灰色界的爬虫,要VIP的视频,小说,歌,没有爬虫解决不了的:数据挖掘及分析 ...

  4. mysql5.7执行sql语句提示Expression #1 of ORDER BY clause is not in GROUP BY

    mysql 新版本出现group by 语句不兼容问题 [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause ...

  5. dede织梦会员模板调用template下模板head.htm方法及解析变量

    1.找到dedecms会员中心的的目录 member ,然后在目录下用编辑器打开config.php 加入对dede模板解释函数如下:   //php脚本开始 //引入arc.partview.cla ...

  6. 哪5种IO模型?什么是select/poll/epoll?同步异步阻塞非阻塞有啥区别?全在这讲明白了!

    系统中有哪5种IO模型?什么是 select/poll/epoll?同步异步阻塞非阻塞有啥区别? 本文地址http://yangjianyong.cn/?p=84转载无需经过作者本人授权 先解开第一个 ...

  7. C博客作业00--顺序分支结构

    这个作业属于哪个班级 C语言--网络2011/2012 这个作业的地址 C博客作业00--顺序分支结构 这个作业的目标 初步认识C语法,掌握数据表达.printf.scanf语法及分支结构内容 0.展 ...

  8. Fiddler抓包(以谷歌浏览器、安卓手机为例)

    fiddler抓包流程与whistle相同,所以本章内容会相对简洁.如果需要详细说明,可参考whistle抓包. 这里以谷歌浏览器.安卓手机为例. 1.fiddler安装 下载安装包,默认安装. 2. ...

  9. hadoop生态之面试题篇

    一.hdfs的高可用 1.先说下自己的理解, 正常的hdfs有namenode,datanode,secondnamenode,但是second name node 不是真正意义上的namenode备 ...

  10. c++ 的学习 第二集函数的重载2 namemangling

    1. 本质 采用了name mangling或者叫name decoration ✓ C++编译器默认会对符号名(比如函数名)进行改编.修饰,有些地方翻译为"命名倾轧"✓ 重载时 ...