ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:19.02KB ,
资源ID:11583151      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11583151.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(表白程序C.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

表白程序C.docx

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

2、#include#include#include #pragmacomment(lib,Winmm.lib)/*宏定义区*/#defineNUM 13 /烟花种类数量宏定义/*结构定义区*/烟花结构structFIRE intr; /当前爆炸半径 intmax_r; /爆炸中心距离边缘最大半径 intx,y; /爆炸中心在窗口的坐标 intcen_x,cen_y; /爆炸中心相对图片左上角的坐标 intwidth,height; /图片的宽高 intxy240240; /储存图片像素点 boolshow; /是否绽放 booldraw; /开始输出像素点 DWORDt1,t2,dt; /绽放速

3、度FireNUM;/烟花弹结构structJET intx,y; /喷射点坐标 inthx,hy; /最高点坐标-将赋值给FIRE里面的x,y intheight; /烟花高度 boolshoot; /是否可以发射 DWORDt1,t2,dt; /发射速度 IMAGEimg2; /储存花弹一亮一暗图片 byten:1; /图片下标JetNUM;/*函数申明区*/voidInit(int); /初始化烟花voidLoad(); /加载烟花图片voidShoot(); /发射烟花voidChose(DWORD&); /筛选烟花voidStyle(DWORD&); /发射样式voidShow(DWO

4、RD*); /绽放烟花/主函数voidmain() initgraph(1200,800); srand(time(0); /播放背景音乐 mciSendString(open./fire/bk.mp3aliasbk,0,0,0); mciSendString(playbkrepeat,0,0,0); /setfillstyle(0); settextstyle(50,0,楷体); setcolor(YELLOW); outtextxy(480,100,MyDear); outtextxy(400,200,愿你悲伤有人分担!); outtextxy(400,280,愿你孤独有人陪伴!); ge

5、tchar(); cleardevice(); settextstyle(25,0,楷体); outtextxy(400,250,曾经); outtextxy(400,300,有一份真挚的爱情摆在我的面前); outtextxy(400,350,我没有珍惜); outtextxy(400,400,直到失去了才后悔莫及); outtextxy(400,450,世间最痛苦的事情莫过于此); outtextxy(400,500,如果上天能给我一个在来一次的机会); outtextxy(400,550,我会对那个女孩说); outtextxy(400,600,我爱你,一万年); outtextxy(7

6、00,660,谢新明); getchar(); DWORDt1=timeGetTime(); /筛选烟花计时 DWORDst1=timeGetTime(); /播放花样计时 DWORD*pMem=GetImageBuffer(); /获取窗口显存指针 for(inti=0;iNUM;i+) /初始化烟花 Init(i); Load(); /将烟花图片信息加载进相应结构中 BeginBatchDraw(); /开始批量绘图 while(!kbhit() Sleep(10); /随机选择4000个像素点擦除 for(intclr=0;clr1000;clr+) for(intj=0;j2;j+)

7、intpx1=rand()%1200; intpy1=rand()%800; if(py1799) /防止越界pMempy1*1200+px1=pMempy1*1200+px1+1=BLACK; /对显存赋值擦出像素点 Chose(t1); /筛选烟花 Shoot(); /发射烟花 Show(pMem); /绽放烟花 Style(st1); /花样发射 FlushBatchDraw(); /显示前面的所有绘图操作 /初始化烟花参数voidInit(inti) /分别为:烟花中心到图片边缘的最远距离、烟花中心到图片左上角的距离(x、y)两个分量 intr13=120,120,155,123,13

8、0,147,138,138,130,135,140,132,155; intx13=120,120,110,117,110,93,102,102,110,105,100,108,110; inty13=120,120,85,118,120,103,105,110,110,120,120,104,85; /*初始化烟花*/ Firei.x=0; /烟花中心坐标 Firei.y=0; Firei.width=240; /图片宽 Firei.height=240; /图片高 Firei.max_r=ri; /最大半径 Firei.cen_x=xi; /中心距左上角距离 Firei.cen_y=yi;

9、 Firei.show=false; /是否绽放 Firei.dt=5; /绽放时间间隔 Firei.t1=timeGetTime(); Firei.r=0; /从0开始绽放 /*初始化烟花弹*/ Jeti.x=-240; /烟花弹左上角坐标 Jeti.y=-240; Jeti.hx=-240; /烟花弹发射最高点坐标 Jeti.hy=-240; Jeti.height=0; /发射高度 Jeti.t1=timeGetTime(); Jeti.dt=rand()%10; /发射速度时间间隔 Jeti.n=0; /烟花弹闪烁图片下标 Jeti.shoot=false; /是否发射/加载图片voi

10、dLoad() /*储存烟花的像素点颜色*/ IMAGEfm,gm; loadimage(&fm,./fire/flower.jpg,3120,240); for(inti=0;i13;i+) SetWorkingImage(&fm); getimage(&gm,i*240,0,240,240); SetWorkingImage(&gm); for(inta=0;a240;a+) for(intb=0;b240;b+) Firei.xyab=getpixel(a,b); /*加载烟花弹*/ IMAGEsm; loadimage(&sm,./fire/shoot.jpg,200,50); for

11、(inti=0;i100) intn=rand()%20; if(n13&Jetn.shoot=false&Firen.show=false) /*重置烟花弹,预备发射*/ Jetn.x=rand()%1200; Jetn.y=rand()%100+600; Jetn.hx=Jetn.x; Jetn.hy=rand()%400; Jetn.height=Jetn.y-Jetn.hy; Jetn.shoot=true; putimage(Jetn.x,Jetn.y,&Jetn.imgJetn.n,SRCINVERT); /*播放每个烟花弹的声音*/ charc150,c230,c330; spr

12、intf(c1,open./fire/shoot.mp3aliass%d,n); sprintf(c2,plays%d,n); sprintf(c3,closen%d,n); mciSendString(c3,0,0,0); mciSendString(c1,0,0,0); mciSendString(c2,0,0,0); t1=t2; /扫描烟花弹并发射voidShoot() for(inti=0;iJeti.dt&Jeti.shoot=true) /*烟花弹的上升*/ putimage(Jeti.x,Jeti.y,&Jeti.imgJeti.n,SRCINVERT); if(Jeti.yJ

13、eti.hy) Jeti.n+; Jeti.y-=5; putimage(Jeti.x,Jeti.y,&Jeti.imgJeti.n,SRCINVERT); /*上升到高度的3/4,减速*/ if(Jeti.y-Jeti.hy)*4Jeti.height) Jeti.dt=rand()%4+10; /*上升到最大高度*/ if(Jeti.y20000) /一首歌的时间 /心形坐标 intx13=60,75,91,100,95,75,60,45,25,15,25,41,60; inty13=65,53,40,22,5,4,20,4,5,22,40,53,65; for(inti=0;iNUM;i

14、+) /cleardevice(); /*规律分布烟花弹*/ Jeti.x=xi*10; Jeti.y=(yi+75)*10; Jeti.hx=Jeti.x; Jeti.hy=yi*10; Jeti.height=Jeti.y-Jeti.hy; Jeti.shoot=true; Jeti.dt=7; putimage(Jeti.x,Jeti.y,&Jeti.imgJeti.n,SRCINVERT); /显示烟花弹 /*设置烟花参数*/ Firei.x=Jeti.x+10; Firei.y=Jeti.hy; Firei.show=false; Firei.r=0; /*播放发射声音*/ char

15、c150,c230,c330; sprintf(c1,open./fire/shoot.mp3aliass%d,i); sprintf(c2,plays%d,i); sprintf(c3,closen%d,i); mciSendString(c3,0,0,0); mciSendString(c1,0,0,0); mciSendString(c2,0,0,0); st1=st2; /绽放烟花voidShow(DWORD*pMem) /烟花个阶段绽放时间间隔,制作变速绽放效果 intdrt16=5,5,5,5,5,6,25,25,25,25,55,55,55,55,55; for(inti=0;i

16、Firei.dt&Firei.show=true) if(Firei.r=Firei.max_r-1) Firei.draw=false; Init(i); Firei.t1=Firei.t2; /如果该号炮花可爆炸,根据当前爆炸半径画烟花,颜色值接近黑色的不输出。 if(Firei.draw) for(doublea=0;a0&x10&y18)&0xff; intr=(Firei.xyx1y116); /烟花像素点在窗口上的坐标 intxx=(int)(Firei.x+Firei.r*cos(a); intyy=(int)(Firei.y-Firei.r*sin(a); /较暗的像素点不输出、防止越界if(r0x20&g0x20&b0x20&xx0&xx0&yy800) pMemyy*1200+xx=BGR(Firei.xyx1y1); /显存操作绘制烟花 Firei.draw=false; 程序效果:(enter键继续,enter键退出)图一.文字界面一图二.文字界面二图三.烟花效果图(1)图四.烟花效果图(2)图五.烟花效果(3)图六.烟花效果(4)注:结束语:程序员的爱情,不是简简单单的三个字,而是我用特有的表达告诉你,其实你在我心里有多么重要,愿天下有情人终成眷属!。(感觉好肉麻啊!)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2