这个小程序是在 18年的夏天写的,曾经有一份真挚的爱情摆在我面前,我没有好好珍惜,算了,还是赶紧 new一个新对象吧 ~

程序中的爱心是我用 api画出来的,也是比较麻烦的一种方法,如果使用图片的话会快很多,话不多来,现在看看效果是怎么样的 . . .

刚开始的效果是下面这样的:

如果点否的话会一直循环下面这种类型的字:

点是的话,会慢慢形成下面的界面:

完整的效果如下所示:

爱心表白小程序


代码如下所示:

//愿所有有情人终成眷属#include <graphics.h>
#include <time.h>
#include <mmsystem.h>//播放音乐的头文件
#pragma comment(lib,"winmm.lib")//播放音乐的库文件#define LOVE_NUM 30char sz_1[][24] = { "我一直以为山是水的故事",
"云是风的故事",
"你是我的故事",
"可是却不知道",
"我是不是你的故事" };char sz_2[][32] = { "如果可以和你在一起",
"我宁愿让天空所有的星光全部损落",
"因为你的眼睛",
"是我生命里最亮的光芒" };typedef struct LOVE
{int x;int y;
}love;love sz_love[LOVE_NUM];
POINT ILoveYou[LOVE_NUM][26];void Init(); //初始化   音乐 背景颜色
void DrawHouse();//画出房子
void DrawHouse1();//更新房子
void InitLove();//初始化爱心
void DrawLove(); //画出爱心雨
void SayToYou(); //要说的话
void SayToYou1();//更新要说的话
void BoxMessage();//消息盒子int main()
{ShowWindow(FindWindow("ConsoleWindowClass", 0), 0);      //隐藏黑窗口BoxMessage(); //消息盒子Init();           //初始化InitLove();DrawHouse();  //画出房子SayToYou();     //要说的话BeginBatchDraw();while (1){cleardevice();    //刷新屏幕DrawHouse1();SayToYou1();DrawLove();        //画出爱心Sleep(5);FlushBatchDraw();}}//初始化   音乐 背景颜色
void Init()
{srand((unsigned)time(0));initgraph(840, 680);//播放背景音乐mciSendString("open 1.mp3 alias cong", 0, 0, 0);mciSendString("play cong repeat", 0, 0, 0);setbkcolor(RGB(255, 174, 201));cleardevice();
}//画出房子
void DrawHouse()
{Sleep(520);setfillcolor(RGB(185, 122, 87));setlinecolor(RGB(50, 50, 50));fillrectangle(100, 350, 300, 550);POINT a[] = { { 130, 280 }, { 270, 280 }, { 350, 350 }, { 50, 350 } };Sleep(520);setfillcolor(LIGHTGRAY);fillpolygon(a, 4);setfillcolor(LIGHTGRAY);Sleep(520);fillrectangle(220, 470, 270, 550);setlinestyle(PS_DASHDOTDOT, 2, NULL, NULL);Sleep(520);line(220, 550, 245, 528);setlinestyle(PS_SOLID, 3, NULL, NULL);Sleep(520);line(100, 450, 200, 450);POINT b[] = { { 153, 401 }, { 157, 397 }, { 164, 392 }, { 171, 391 }, { 178, 393 }, { 184, 398 }, { 186, 403 }, { 187, 408 }, { 186, 414 }, { 183, 420 }, { 179, 426 }, { 172, 433 }, { 164, 439 }, { 158, 442 }, { 153, 445 },{ 143, 439 }, { 134, 433 }, { 127, 426 }, { 123, 421 }, { 120, 414 }, { 118, 408 }, { 120, 402 }, { 122, 397 }, { 126, 393 }, { 135, 390 }, { 145, 393 } };setfillcolor(RGB(255, 174, 201));Sleep(520);solidpolygon(b, 26);Sleep(1314);
}//用来更新
void DrawHouse1()
{setfillcolor(RGB(185, 122, 87));setlinecolor(RGB(50, 50, 50));fillrectangle(100, 350, 300, 550);POINT a[] = { { 130, 280 }, { 270, 280 }, { 350, 350 }, { 50, 350 } };setfillcolor(LIGHTGRAY);fillpolygon(a, 4);setfillcolor(LIGHTGRAY);fillrectangle(220, 470, 270, 550);setlinestyle(PS_DASHDOTDOT, 2, NULL, NULL);line(220, 550, 245, 528);setlinestyle(PS_SOLID, 3, NULL, NULL);line(100, 450, 200, 450);POINT b[] = { { 153, 401 }, { 157, 397 }, { 164, 392 }, { 171, 391 }, { 178, 393 }, { 184, 398 }, { 186, 403 }, { 187, 408 }, { 186, 414 }, { 183, 420 }, { 179, 426 }, { 172, 433 }, { 164, 439 }, { 158, 442 }, { 153, 445 },{ 143, 439 }, { 134, 433 }, { 127, 426 }, { 123, 421 }, { 120, 414 }, { 118, 408 }, { 120, 402 }, { 122, 397 }, { 126, 393 }, { 135, 390 }, { 145, 393 } };setfillcolor(RGB(255, 174, 201));solidpolygon(b, 26);
}//画出爱心雨
void DrawLove()
{for (int i = 0; i < LOVE_NUM; i++){sz_love[i].y += 2;if (sz_love[i].y > 700){sz_love[i].x = rand() % 840;sz_love[i].y = -20;}ILoveYou[i][0] = { sz_love[i].x, sz_love[i].y - 13 };ILoveYou[i][1] = { sz_love[i].x + 4, sz_love[i].y - 17 };ILoveYou[i][2] = { sz_love[i].x + 11, sz_love[i].y - 22 };ILoveYou[i][3] = { sz_love[i].x + 18, sz_love[i].y - 23 };ILoveYou[i][4] = { sz_love[i].x + 25, sz_love[i].y - 21 };ILoveYou[i][5] = { sz_love[i].x + 31, sz_love[i].y - 16 };ILoveYou[i][6] = { sz_love[i].x + 33, sz_love[i].y - 11 };ILoveYou[i][7] = { sz_love[i].x + 34, sz_love[i].y - 6 };ILoveYou[i][8] = { sz_love[i].x + 33, sz_love[i].y };ILoveYou[i][9] = { sz_love[i].x + 30, sz_love[i].y + 6 };ILoveYou[i][10] = { sz_love[i].x + 26, sz_love[i].y + 12 };ILoveYou[i][11] = { sz_love[i].x + 19, sz_love[i].y + 19 };ILoveYou[i][12] = { sz_love[i].x + 11, sz_love[i].y + 25 };ILoveYou[i][13] = { sz_love[i].x + 5, sz_love[i].y + 28 };ILoveYou[i][14] = { sz_love[i].x, sz_love[i].y + 31 };ILoveYou[i][15] = { sz_love[i].x - 5, sz_love[i].y + 28 };ILoveYou[i][16] = { sz_love[i].x - 11, sz_love[i].y + 25 };ILoveYou[i][17] = { sz_love[i].x - 19, sz_love[i].y + 19 };ILoveYou[i][18] = { sz_love[i].x - 26, sz_love[i].y + 12 };ILoveYou[i][19] = { sz_love[i].x - 30, sz_love[i].y + 6 };ILoveYou[i][20] = { sz_love[i].x - 33, sz_love[i].y };ILoveYou[i][21] = { sz_love[i].x - 34, sz_love[i].y - 6 };ILoveYou[i][22] = { sz_love[i].x - 33, sz_love[i].y - 11 };ILoveYou[i][23] = { sz_love[i].x - 31, sz_love[i].y - 16 };ILoveYou[i][24] = { sz_love[i].x - 25, sz_love[i].y - 21 };ILoveYou[i][25] = { sz_love[i].x - 18, sz_love[i].y - 23 };}setfillcolor(RED);for (int i = 0; i < LOVE_NUM; i++){solidpolygon(ILoveYou[i], 26);}}//初始化爱心
void InitLove()
{for (int i = 0; i < LOVE_NUM; i++){sz_love[i].x = rand() % 840;sz_love[i].y = rand() % 680;ILoveYou[i][0] = { sz_love[i].x, sz_love[i].y - 13 };ILoveYou[i][1] = { sz_love[i].x + 4, sz_love[i].y - 17 };ILoveYou[i][2] = { sz_love[i].x + 11, sz_love[i].y - 22 };ILoveYou[i][3] = { sz_love[i].x + 18, sz_love[i].y - 23 };ILoveYou[i][4] = { sz_love[i].x + 25, sz_love[i].y - 21 };ILoveYou[i][5] = { sz_love[i].x + 31, sz_love[i].y - 16 };ILoveYou[i][6] = { sz_love[i].x + 33, sz_love[i].y - 11 };ILoveYou[i][7] = { sz_love[i].x + 34, sz_love[i].y - 6 };ILoveYou[i][8] = { sz_love[i].x + 33, sz_love[i].y };ILoveYou[i][9] = { sz_love[i].x + 30, sz_love[i].y + 6 };ILoveYou[i][10] = { sz_love[i].x + 26, sz_love[i].y + 12 };ILoveYou[i][11] = { sz_love[i].x + 19, sz_love[i].y + 19 };ILoveYou[i][12] = { sz_love[i].x + 11, sz_love[i].y + 25 };ILoveYou[i][13] = { sz_love[i].x + 5, sz_love[i].y + 28 };ILoveYou[i][14] = { sz_love[i].x, sz_love[i].y + 31 };ILoveYou[i][15] = { sz_love[i].x - 5, sz_love[i].y + 28 };ILoveYou[i][16] = { sz_love[i].x - 11, sz_love[i].y + 25 };ILoveYou[i][17] = { sz_love[i].x - 19, sz_love[i].y + 19 };ILoveYou[i][18] = { sz_love[i].x - 26, sz_love[i].y + 12 };ILoveYou[i][19] = { sz_love[i].x - 30, sz_love[i].y + 6 };ILoveYou[i][20] = { sz_love[i].x - 33, sz_love[i].y };ILoveYou[i][21] = { sz_love[i].x - 34, sz_love[i].y - 6 };ILoveYou[i][22] = { sz_love[i].x - 33, sz_love[i].y - 11 };ILoveYou[i][23] = { sz_love[i].x - 31, sz_love[i].y - 16 };ILoveYou[i][24] = { sz_love[i].x - 25, sz_love[i].y - 21 };ILoveYou[i][25] = { sz_love[i].x - 18, sz_love[i].y - 23 };}
}//要说的话
void SayToYou()
{int x = 450, y = 100;settextstyle(20, 10, "楷体");settextcolor(RGB(255, 100, 0));for (int i = 0; i < 5; i++){outtextxy(x, y, sz_1[i]);y += 25;Sleep(1314);}y += 20;for (int i = 0; i < 4; i++){outtextxy(x, y, sz_2[i]);y += 25;Sleep(1314);}Sleep(1314);    //1314个毫秒后,下起爱心雨
}//更新要说的话
void SayToYou1()
{int x = 450, y = 100;for (int i = 0; i < 5; i++){outtextxy(x, y, sz_1[i]);y += 25;}y += 25;for (int i = 0; i < 4; i++){outtextxy(x, y, sz_2[i]);y += 25;}
}//消息盒子
void BoxMessage()
{while (MessageBox(NULL, "小姐姐我喜欢你", "愿意做我女朋友吗", MB_YESNO) != IDYES){if (MessageBox(NULL, "为你做饭吃呀", "愿意做我女朋友吗", MB_YESNO) == IDYES) break;if (MessageBox(NULL, "为你洗衣服呀", "愿意做我女朋友吗", MB_YESNO) == IDYES) break;if (MessageBox(NULL, "钱归你管呀", "愿意做我女朋友吗", MB_YESNO) == IDYES) break;if (MessageBox(NULL, "你最大呀", "愿意做我女朋友吗", MB_YESNO) == IDYES) break;}if (MessageBox(NULL, "为亲爱的你,献上一首歌,想听吗", "我最喜欢你了 ^_^ 嘻嘻", MB_YESNO) != IDYES){exit(0);}
}

250行代码基于C + EasyX实现感人的表白小程序,画出美丽的爱心雨!相关推荐

  1. 用Python实现表白代码 抖音最火的整蛊表白小程序如何做出来的

    这篇文章带大家实现表白代码 看过很多用批处理写的表白,就想着用Python实现一个 实现用的是tkinter 点击关闭按钮 无法关闭 def closeWindow():messagebox.show ...

  2. python 250行代码开发一个贪吃蛇

    python 250行代码开发一个贪吃蛇 1. 前提工作准备 2. 全局变量的定义与包的导入 3. 游戏开始界面初始化 4. 游戏界面的设置 4.1 游戏界面,使用一个Point类进行划分 4.2 预 ...

  3. python画动态爱心-使用Python画出小人发射爱心的代码

    我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...

  4. python编程爱心-使用Python画出小人发射爱心的代码

    我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...

  5. python送心小人_使用Python画出小人发射爱心的代码

    我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...

  6. python小人画爱心_使用Python画出小人发射爱心的代码

    我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...

  7. 基于Python实现图片格式转换的小程序

    基于Python实现图片格式转换的小程序 特点: 批量处理图片 转换常见的4种图片格式 运行窗口 运行窗口-1 选择图片(可批量选择)-2 假设选中4张JEPG格式的图片 格式选择窗口-3 假设选择目 ...

  8. c语言小人发射爱心,使用Python画出小人发射爱心的代码

    我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...

  9. [附源码]计算机毕业设计Python+uniapp基于微信支付的在线打印微信小程序ah1u9(程序+lw+远程部署)

    [附源码]计算机毕业设计Python+uniapp基于微信支付的在线打印微信小程序ah1u9(程序+lw+远程部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置: ...

最新文章

  1. Java基础-Java中的堆内存和离堆内存机制
  2. DELAY INIT 延迟初始化
  3. 线性分组码的最小汉明距为6_第二章 线性代数
  4. hdu 1872 稳定排序
  5. C语言int的字节数跟什么有关,C语言中int型字长和什么有关
  6. shell脚本相关指令
  7. 51单片机产生1Hz-5kHz可调占空比方波
  8. 泰拉瑞亚Terraria for Mac(动作冒险游戏)
  9. 生活,不求深刻,只求简单。
  10. 【代码实现和训练】OCR技术——引入了Attention机制的crnn的印刷体汉字识别
  11. 钉钉直播一键下载(网络抓包入门)
  12. Transparent Tribe行动
  13. 计算机维护费入什么会计科目,金税盘技术维护费计入什么科目_增值税
  14. win10蓝屏代码_电脑蓝屏代码在哪看?如何解决
  15. 庄子 “唯至人乃能游于世不避,顺人而不失己。”
  16. 大数据组件笔记 -- Hive
  17. Couldn‘t find ffmpeg or avconv - defaulting to ffmpeg, but may not work快速解决办法
  18. 超级电容TL431方案全讲解
  19. java xml transformer_java xml transformer.transform 无故增加换行
  20. Linux物理内存管理——会议室管理员如何分配会议室

热门文章

  1. Part I A Simple game of air hockey(空气曲棍球)-Chapter2 Defining Vertices and Shaders
  2. golang正则匹配使用
  3. [每日100问][2011-10-07]iphone开发笔记,今天你肿了么
  4. 浅谈wheel滚轮事件(兼容触摸板多次触发)
  5. 嵌入式linux音频驱动及简单播放器的设计与实现,嵌入式Linux音频驱动及简单播放器的设计与实现...
  6. postgresql复制标识问题
  7. 宁波阿里云代理商:阿里巴巴CEO张勇:阿里云是一家云计算产品公司
  8. 西安:食肉种族的最爱
  9. 【大数据应用技术】作业八|爬虫综合大作业(上)
  10. New Year's Eve 元旦前夜