C/C++编程笔记:浪漫流星雨表白装b程序
作为一个未来可能会成为一个专业程序员的小伙们,不知道你们现在学到哪里了,学了点东西之后有没有想在你女朋友面前装个大大的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程序的更多相关文章
- storysnail的Linux串口编程笔记
storysnail的Linux串口编程笔记 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创代码根据Ge ...
- Shell编程笔记
Shell编程笔记与Windows下熟悉的批处理类似,也可以将一些重复性的命令操作写成一个脚本方便处理. 修改别人的脚本,运行后遇到个问题 setenv: command not found 查证 ...
- python核心编程--笔记
python核心编程--笔记 的解释器options: 1.1 –d 提供调试输出 1.2 –O 生成优化的字节码(生成.pyo文件) 1.3 –S 不导入site模块以在启动时查找pyt ...
- 数据结构(逻辑结构,物理结构,特点) C#多线程编程的同步也线程安全 C#多线程编程笔记 String 与 StringBuilder (StringBuffer) 数据结构与算法-初体验(极客专栏)
数据结构(逻辑结构,物理结构,特点) 一.数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关.逻辑结构包括: 集合 数 ...
- Python编程笔记二进制、字符编码、数据类型
Python编程笔记二进制.字符编码.数据类型 一.二进制 bin() 在python中可以用bin()内置函数获取一个十进制的数的二进制 计算机容量单位 8bit = 1 bytes 字节,最小的存 ...
- java并发编程笔记(十一)——高并发处理思路和手段
java并发编程笔记(十一)--高并发处理思路和手段 扩容 垂直扩容(纵向扩展):提高系统部件能力 水平扩容(横向扩容):增加更多系统成员来实现 缓存 缓存特征 命中率:命中数/(命中数+没有命中数) ...
- 风变编程笔记(二)-Python爬虫精进
第0关 认识爬虫 1. 浏览器的工作原理首先,我们在浏览器输入网址(也可以叫URL),然后浏览器向服务器传达了我们想访问某个网页的需求,这个过程就叫做[请求]紧接着,服务器把你想要的网站数据发送给浏 ...
- C# 高效编程笔记2
C# 高效编程笔记2 1.理解GetHashCode()的陷阱 (1)作用:作为基于散列集合定义键的散列值,如:HashSet<T>,Dictionary<K,V>容器等 (2 ...
- C# 高效编程笔记1
C# 高效编程笔记1 1.使用属性而不是可访问的数据成员 (1).NET Framework中的数据绑定类仅支持属性,而不支持共有数据成员 (2)属性相比数据成员更容易修改 2.用运行时常量(read ...
随机推荐
- 菜狗、《灵笼》、《时光代理人》,重新审视Z世代的电商逻辑
来源:懂懂笔记 B站还有多少潜力可以挖掘? 虽然B站的最新财报依然还是亏损,但同时也让人看到更多的可能性. 从财报数据的亮点来看,一是营收增长,B站二季度营收为44.95亿元,同比增长72%.营收上B ...
- ysoserial CommonsColletions2分析
ysoserial CommonsColletions2分析 前言 此文章是ysoserial中 commons-collections2 的分析文章,所需的知识包括java反射,javassist. ...
- vs2015使用tcmalloc(windows)
编译lib库 1.https://github.com/gperftools/gperftools 去tag中下载了2.4版本(最新的2.9.1版本 用了c++17的新特性折叠表达式,vs2015不 ...
- Docker修改容器中的时间
Docker修改容器中的时间 前言 在公司开发时使用 Docker 创建数据库(SQL Server)的实例十分方便,还原数据库也只要设置好共享文件夹,在 SQL Server Management ...
- TP5多条件搜索,同时有必要条件
$model = $this->model; // 查询是否有搜索参数 $search = input('?get.search') ? trim(input('get.search')) : ...
- Shell系列(19)- 正则表达式
正则表达式与通配符 正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配.grep,awk,sed等命令可以支持正则表达式. 通配符用来匹配符号条件的文件名,通配符是完全匹配.ls,find,c ...
- 启动Jenkins后无法访问,如何排错
做IT工作,使用各种工具的时候,遇到错误都是一堆英文,对于英语不好的人,看到报错可能就会心烦,我刚开始就是这种状态.后来,遇到问题,首先复制报错信息到百度上搜索,没有人请教的时候,你不能坐等问题自己解 ...
- 测试开发【提测平台】分享11-Python实现邮件发送的两种方法实践
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 按照开发安排,本篇本应该是关于提测页面的搜索和显示实现,怕相似内容疲劳,这期改下内容顺序,将邮件服务的相关的提前,在之前的产品需求和原型中 ...
- STAR-CCM+使用教程(开坑)
前言: 之前在项目中经常使用STAR-CCM+做数值模拟,中间也陆陆续续折腾过许久,踩过一些坑.未来考虑转行,以后可能也会不再用到这CFD软件,所以正好趁这个机会在这做一个教程.记录下自己STAR-C ...
- 细说JUC的线程池架构
前言 线程的创建是需要JVM和OS(操作系统)相互配合的,一次的创建要花费许多的资源. 1.首先,JVM要为该线程分配堆栈和初始化大量内存块,栈内存至少是1MB. 2.其次便是要进行系统的调用,在OS ...