想要讨女朋友欢心也巩固自己所学的知识,各位小伙伴有自己的想法了吗?准备好想要怎样实施了吗?有什么美好的计划了吗?如果没有的话那么别慌,我知道,在座的各位肯定都是有自己的心仪的姑娘,那么今天就教大家一招,做一个表白程序去进行表白,别等了,赶紧打开你的IED,跟着代码敲起来,不然的话,喜欢的人都跟别人跑了!

直接源码分享:

c  

#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[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语言编程基础

http://www.makeru.com.cn/live/1758_311.html?s=45051

夯实C语言,从小白到大牛的进阶之路!

http://www.makeru.com.cn/live/5413_1980.html?s=45051

自学的难度很大,如果你想更快提升自己的编程能力和编写项目的水平,欢迎一起共同成长!

点击链接加入群聊【嵌入式单片机Linux C交流群②】:【715272998 [点这里进入]

有一些源码和资料分享,欢迎转行也学习编程的伙伴,和大家一起交流成长会比自己琢磨更快哦!

零基础入门C/C++实现你的浪漫表白:浪漫流星雨表白程序的更多相关文章

  1. 从零基础入门JavaScript(1)

    从零基础入门JavaScript(1) 1.1  Javascript的简史 1995年的时候   由网景公司开发的,当时的名字叫livescript    为了推广自己的livescript,搭了j ...

  2. 函数:我的地盘听我的 - 零基础入门学习Python019

    函数:我的地盘听我的 让编程改变世界 Change the world by program 函数与过程 在小甲鱼另一个实践性超强的编程视频教学<零基础入门学习Delphi>中,我们谈到了 ...

  3. Cloudera Manager、CDH零基础入门、线路指导 http://www.aboutyun.com/thread-9219-1-1.html (出处: about云开发)

    Cloudera Manager.CDH零基础入门.线路指导http://www.aboutyun.com/thread-9219-1-1.html(出处: about云开发) 问题导读:1.什么是c ...

  4. 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA

    开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...

  5. 【JAVA零基础入门系列】Day4 变量与常量

    这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...

  6. 【JAVA零基础入门系列】Day5 Java中的运算符

    运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...

  7. 【JAVA零基础入门系列】Day6 Java字符串

    字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...

  8. 【JAVA零基础入门系列】Day8 Java的控制流程

    什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...

  9. 【JAVA零基础入门系列】Day9 Java中的那个大数值

    什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...

  10. 【JAVA零基础入门系列】Day10 Java中的数组

    什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...

随机推荐

  1. NPOI相关资料

    http://blog.csdn.net/heyangyi_19940703/article/details/52292755 http://www.cnblogs.com/zhengjuzhuan/ ...

  2. python中reduce filter map lambda函数

    lambda函数 python 使用 lambda 来创建匿名函数,lambda返回值是一个函数的地址,也就是函数对象. 语法:lambda [arg1 [,arg2,.....argn]]:expr ...

  3. 【PHP数据结构】树和二叉树

    树的概念其实非常地广泛,也非常地常见,大家见到这个词千万不要惊慌,因为真的每天你都能见到树结构在我们生活中的应用.比如说公司的组织结构: 另外像我们家里的族谱,或者说是我们的家庭结构,也是一个典型的树 ...

  4. 手机访问pc网站自动跳转手机端网站PHP代码

    $agent = $_SERVER['HTTP_USER_AGENT']; if(strpos($agent,"comFront") strpos($agent,"iPh ...

  5. gin 源码阅读(1) - gin 与 net/http 的关系

    gin 是目前 Go 里面使用最广泛的框架之一了,弄清楚 gin 框架的原理,有助于我们更好的使用 gin. 这个系列 gin 源码阅读会逐步讲明白 gin 的原理. gin 概览 想弄清楚 gin, ...

  6. SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践

    一. 前言 日志对于一个程序的重要程度不用过多的言语修饰,本篇将以实战的方式讲述开源微服务全栈项目 有来商城 是如何整合当下主流日志解决方案 ELK +Filebeat . 话不多说,先看实现的效果图 ...

  7. 大前端快闪二:react开发模式 一键启动多个服务

    最近全权负责了一个前后端分离的web项目,前端使用create-react-app, 后端使用golang做的api服务. npx create-react-app my-app cd my-app ...

  8. AT3949-[AGC022D]Shopping【贪心】

    正题 题目链接:https://www.luogu.com.cn/problem/AT3949 题目大意 长度为\(L\)的坐标轴上,给出\(n\)个点,每个点\(x_i\)需要购物\(t_i\)的时 ...

  9. PYTHON django 关于时间转换

    在安装django.默认会pytz时区库,import pytzpytz.timezone("UTC")now.astimezone("要转换的aware类型" ...

  10. 简单介绍session,cookie,token以及区别

    Cookie简介 ①.是由服务器发给客户端的特殊信息,以文本的形式存放在客户端 ②.客户端再次请求的时候,会把Cookie回发给服务器 ③.服务器接收到后,会解析Cookie生成与客户端相对应的内容 ...