520表白程序(C++)

上传人:豆*** 文档编号:201717743 上传时间:2023-04-20 格式:DOCX 页数:24 大小:2.31MB
收藏 版权申诉 举报 下载
520表白程序(C++)_第1页
第1页 / 共24页
520表白程序(C++)_第2页
第2页 / 共24页
520表白程序(C++)_第3页
第3页 / 共24页
资源描述:

《520表白程序(C++)》由会员分享,可在线阅读,更多相关《520表白程序(C++)(24页珍藏版)》请在装配图网上搜索。

1、菜鸟奉献你一种52表白神器爱情总是那么神圣,烂漫,每个人都会有无限的向往,即便是程序员(自我笑下),忽然我想起周星驰的那些话“曾经有一段爱情摆在我面前。我但愿是一万年”,于是我试着做了表白程序。实现原理:原理比较的简朴,重要是运用indows AP来实现,程序初步实现的功能是显示文字,图像,歌曲(反复),燃放烟花(循环),程序的实现过程大概可以描述为烟花燃放的一种过程(初始化,上升,爆炸,循环),具体实现措施不再复述了,代码比较简朴。工具:VS axy(冬至版)使用C库,不是库,用Eaxy重要代码:icude grapics#inlud conio.nclue #include include

2、 inlude Mmystem.h#pragma commnt ( lib, inmm.lib)* 宏定义区 */#dfineNUM/烟花种类数量宏定义* 构造定义区 */ 烟花构造sru int r;/ 目前爆炸半径int maxr;/爆炸中心距离边沿最大半径in x, ;/ 爆炸中心在窗口的坐标intcn_x, cn_y;/ 爆炸中心相对图片左上角的坐标nt idth, height;/ 图片的宽高i xy2424;/ 储存图片像素点boo ho;/ 与否绽放bol draw;/开始输出像素点WORDt1, t2, dt;/ 绽放速度FirN;/ 烟花弹构造stc JETint x, y;

3、/ 喷射点坐标ith,hy;/ 最高点坐标-将赋值给 FIR 里面的x, yin heght;/ 烟花高度bo hoot;/与否可以发射DWO 1, 2, dt;/ 发射速度MGE ig2;/ 储存花弹一亮一暗图片be :;/ 图片下标eNM;/*函数声明区 */idInit(int);/ 初始化烟花void Load();/ 加载烟花图片oid oot();/ 发射烟花vd Chose(WO&);/筛选烟花oi Style(WD);/ 发射样式void Show(DWORD*);/ 绽放烟花/ 主函数void i()itgrap(120, 80);srnd(tim());/ 播放背景音乐mS

4、dStng(open ./fiebkp3 aas b, 0, , 0);miendStng(ply b re, 0,0, 0);/filsy(0);settexstle(, 0, 楷体);setor(ELLOW);outtexxy(40, 100, My Dear);utxxy(400,20, 愿你悲哀有人分担!);outx(400, 280, 愿你孤单有人陪伴!);gtchr();cleardeice();settexstle(5,0,楷体);utexx(40, 250,曾经);utextxy(00,300, 有一份诚挚的爱情摆在我的面前);outtexty(40, 350, 我没有爱惜);

5、outtexty(400, 40, 直到失去了才懊悔莫及);outetxy(400, 450,世间最痛苦的事情莫过于此);ottexty(400, 500, 如果上天能给我一种在来一次的机会);ottexy(40, 50, 我会对那个女孩说);uttex(400, 600, 我爱你,一万年);outexx(700, 60,谢新明);getar();DWOR t1 = timeGetime();/ 筛选烟花计时DWORD st1= imeGeTime();/ 播放把戏计时ORD* pMm = GtIageBfer();/ 获取窗口显存指针for (in = ; UM; i+)/ 初始化烟花Ini

6、t(i);oad();/ 将烟花图片信息加载进相应构造中BeginBathraw();/ 开始批量绘图whie (!kbhit()Sleep(10);/ 随机选择 000个像素点擦除for (t cr = ; c 00; clr+)fr (int j = ; j ; j+)ntpx1 rand() % 1200;it py1 = rand()% 8;f (py1 79)/ 避免越界 pempy1 1200+ px Me1 * 20 + px +1 ACK; / 对显存赋值擦出像素点Cho(t);/ 筛选烟花hoot();/ 发射烟花Shw(pMe);/ 绽放烟花Stl(t1);/ 把戏发射Fl

7、usBthDraw();/ 显示前面的所有绘图操作/初始化烟花参数vod n(int )/ 分别为:烟花中心到图片边沿的最远距离、烟花中心到图片左上角的距离 (x、y) 两个分量ntr13= 12, 1, 155, 123, 0, 47, 138, 13, 1, 15,140, 132, 15 ;intx13= 20, 120,1, 117,110, 93, 1,1,110, 10, 10,8, 10 ;nt y13 20,10, 85,11, 12, 103,105,1, 1,2, 1, 104, ;/* 初始化烟花 */Firei=0; 烟花中心坐标ire. = 0;Fiwidth =20

8、;/ 图片宽Fireihiht = 40; 图片高Fie.max_r = ri;/最大半径F_x = i;/ 中心距左上角距离ireicen_y yi;iei.shwfale;/ 与否绽放Fiei.dt 5;/ 绽放时间间隔Fiei.t = ieGetie();reir = 0;/从0开始绽放/*初始化烟花弹 *eti = -4;/ 烟花弹左上角坐标ei.y= -240;Jti.hx -240;/ 烟花弹发射最高点坐标Jti.hy -20;Jei.height = 0;/ 发射高度eti.t1 = tieeTime();ei.trand() 10;/ 发射速度时间间隔i.n =0;/ 烟花弹闪

9、烁图片下标Jei.soot fals;/ 与否发射/ 加载图片void Load()/*储存烟花的像素点颜色 *IAGEm, g;dimage(fm,./fire/lowrjpg, 320, 240);for (iti 0; 1; +)SeWoknImge(&fm);geimae(&gm, i * 240, 0, 240, 240);etWorkae(&m);f (nt = 0; a 40; a+)for(int b= 0; b0;b+)irei.xyb = epixl(,b);/* 加载烟花弹 */IMAE sm;lodmage(&sm, ./ie/hot.jg, 200,50);fo (i

10、t =0; i 0)in n = ran() 20;i (n 13 &Je.ho=false &Firnshow = fas)/* 重置烟花弹,预备发射 */Jtn.x =nd() %20;Jt. = rad() 100 +60;tn.hx etn.x;Jetn.hy = rand()% 40;Jn.ight =Jetn.y Jetnhy;Jet.shoot =tre;uiag(etx, Je.y, &Jetn.imJenn, SRCINVERT);/* 播放每个烟花弹的声音 */char c50, c230,c330;int(c1,open /fre/shot.p aass%d, n);sp

11、rntf(c2, pla s%d,n);spintf(c3, cloe n%, );mSendSring(c3,0,0, 0);mciSndStrg(c1, 0, 0, 0);iendting(c, 0, ,);t t2;/ 扫描烟花弹并发射oid Shoot()fr (int i0;i Jet.d Jtihoo = true)*烟花弹的上升 */puage(Jti.x, Jety, Jeti.igJet., SRCVERT);if (Jtiy ti.h)Jei.+;Jeti. - 5;putimage(Je.x, Jet,&JtiimgJen, SRCINVERT);/* 上升到高度的3 4

12、,减速* ((Jeti. Jih) * Jeti.height)Ji.t = rn() 4 + 10;* 上升到最大高度*if(Jeti.y = Jeti.h)/播放爆炸声cha c150, c230,30;sprintf(c1, on ./fre/bowav alias n%d, i);pntf(c2, play n%d, );prt(c3, clse s%d, i);mcinSr(3, 0,0, 0);mciSnring(c1, 0,0, 0);mciedString(c2, 0, , );ptimg(eti.x,Jei.y,&JeiimgJti.n, RNVERT);/ 擦掉烟花弹ire

13、i.x= Jeti.hx+ 10;/ 在烟花弹中间爆炸ei.y Jti.h;/ 在最高点绽放Fe.show =true;/ 开始绽放Jeti.hot = fle;/ 停止发射Jei.t =eti.;/显示把戏oidStle(DWORD1)DOR st2timGeTi();if (t-st1 )/ 一首歌的时间/心形坐标it x13= ,75, 91, 10, 95,75, 60,4, 25, 1, 2, , 0 ;t y13 6,3, 40,22,, ,2, 4,5, 22, 0, 53, 65;r (ini= 0; i NUM;+)/ceardvice();/* 规律分布烟花弹 */Jeti

14、.x = * 10;Je. =(y + 5) * 0;Jti.h =Jei.x;Jeti.hy = y 1;Jei.het Jeiy-Jihy;Jeti.shoo = tru;Jeti.t =7;uige(Jeti.x, i, &Je.imgJei., RNVERT);/ 显示烟花弹* 设立烟花参数 */Fire. = Jeti.x +10;Fr.y = Jeti.hy;Fir.showale;Freir = 0;* 播放发射声音 */char 0, c30,c33;spntf(c, on./re/sotmp3 alia %d, i);spri(c,py s%d, i);sritf(c3, l

15、oe d, i);miSendSrng(c3, 0, , 0);mcSndStrin(c1, 0, , 0);mcSendString(c2,0, ,0);1 st2;/ 绽放烟花oid Show(DWORD*pMem) 烟花个阶段绽放时间间隔,制作变速绽放效果int drt6 = 5, , 5, , 5,6, 5,5, 5, 2, 5,, 55,5, 55;(nti = ; NM;i+)Firei.2 = teetme(); 增长爆炸半径,绽放烟花,增长时间间隔做变速效果if (iei Firi.t1 Fii.dt& Fhow =true)if (iei.r = Frei.max_ - 1)

16、Fiei.dra false;Ini(i);Fir.t1 = Fei.t2;/如果该号炮花可爆炸,根据目前爆炸半径画烟花,颜色值接近黑色的不输出。if (Fiei.daw)for(ule ; = 6.8; a+= 0.1)in x1 (int)(Firicenx +Fii.r cos(a));/相对于图片左上角的坐标t y =(t)(Fireicen_y - Fireir *sin(a));if(x0 &x 0 & y1 ) &0xff;tr =(Fii.xyx1y116);/ 烟花像素点在窗口上的坐标int xx= (in)(ire.x + Fire.r * cs(a));int y =(i

17、nt)(Fir rei * si(a);/ 较暗的像素点不输出、避免越界if ( 020 & g0x & b 02& xx &xx 0&yy 800)pMmyy * 100 + xx BGR(Fiexyx11);/ 显存操作绘制烟花ireirw = fals;程序效果:(etr 键继续,ente键退出)图一. 文字界面一图二. 文字界面二图三 烟花效果图(1)图四.烟花效果图(2)图五 烟花效果(3)图六 烟花效果()注:如果需要素材(图片,音乐等)和源码,可以加Q,但愿和人们一起交流!结束语: 程序员的爱情,不是简简朴单的三个字,而是我用特有的体现告诉你,其实你在我心里有多么重要,愿天下有情人终成眷属!。(感觉好肉麻啊!!)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!