c语言编程创意表白,C语言和图形界面编程打造——浪漫的表白程序
谁说程序员不浪漫???来来来一起打造一个浪漫的表白程序,配上好听的音乐,瞬间高大上。
下面,发下代码吧,昨天的愤怒的小鸟推箱子版本的没发,今天发这个,,,简单的C语言和easyx一起打造浪漫的程序附带上注释吧
#include
#include
#include
#include
#include
#include
#pragma comment ( lib, "Winmm.lib" )
/***** 宏定义区 ******/
#define NUM13// 烟花种类数量宏定义
/***** 结构定义区 **********/
// 烟花结构
struct FIRE
{
int r;// 当前爆炸半径
int max_r;// 爆炸中心距离边缘最大半径
int x, y;// 爆炸中心在窗口的坐标
int cen_x, cen_y;// 爆炸中心相对图片左上角的坐标
int width, height;// 图片的宽高
int xy[240][240];// 储存图片像素点
bool show;// 是否绽放
bool draw;// 开始输出像素点
DWORD t1, t2, dt;// 绽放速度
}Fire[NUM];
// 烟花弹结构
struct JET
{
int x, y;// 喷射点坐标
int hx, hy;// 最高点坐标------将赋值给 FIRE 里面的 x, y
int height;// 烟花高度
bool shoot;// 是否可以发射
DWORD t1, t2, dt;// 发射速度
IMAGE img[2];// 储存花弹一亮一暗图片
byte n : 1;// 图片下标
}Jet[NUM];
/**** 函数申明区 ****/
void welcome();
void Init(int);// 初始化烟花
void Load();// 加载烟花图片
void Shoot();// 发射烟花
void Chose(DWORD&);// 筛选烟花
void Style(DWORD&);// 发射样式
void Show(DWORD*);// 绽放烟花
// 主函数
void main()
{
initgraph(1200, 800);
srand(time(0));
// 播放背景音乐
mciSendString("open ./fire/小幸运.mp3 alias bk", 0, 0, 0);
mciSendString("play bk repeat", 0, 0, 0);
welcome();
DWORD t1 = timeGetTime();// 筛选烟花计时
DWORD st1 = timeGetTime();// 播放花样计时
DWORD* pMem = GetImageBuffer();// 获取窗口显存指针
for (int i = 0; i
{
Init(i);
}
Load();// 将烟花图片信息加载进相应结构中
BeginBatchDraw();// 开始批量绘图
while (!kbhit())
{
Sleep(10);
// 随机选择 4000 个像素点擦除
for (int clr = 0; clr
{
for (int j = 0; j
{
int px1 = rand() % 1200;
int py1 = rand() % 800;
if (py1
pMem[py1 * 1200 + px1] = pMem[py1 * 1200 + px1 + 1] = BLACK;// 对显存赋值擦出像素点
}
}
Chose(t1);// 筛选烟花
Shoot();// 发射烟花
Show(pMem);// 绽放烟花
Style(st1);// 花样发射
FlushBatchDraw();// 显示前面的所有绘图操作
}
}
void welcome()
{
//setfillstyle(0);
setcolor(YELLOW);
for (int i = 0; i
{
int x = 600 + int(180 * sin(PI * 2 * i / 60));
int y = 200 + int(180 * cos(PI * 2 * i / 60));
cleardevice();
settextstyle(i, 0, "楷体");
outtextxy(x, y, "双十一,不剁手!");
outtextxy(x-130, y+100, "写段代码送女友!");
Sleep(25);
}
getchar();
cleardevice();
settextstyle(25, 0, "楷体");
outtextxy(400, 200, "原来你是我最想留住的幸运");
outtextxy(400, 250, "原来我们和爱情曾经靠得那么近");
outtextxy(400, 300, "那为我对抗世界的决定");
outtextxy(400, 350, "那陪我淋的雨");
outtextxy(400, 400, "一幕幕都是你");
outtextxy(400, 450, "一尘不染的真心。");
outtextxy(600, 500, "----《小幸运》");
getchar();
}
PS:前面的一部分弄出来了 基于代码是真心太多,也需要图片,插件、、、所以说,需要的可以+,后面的几个点:1、 初始化烟花参数 /2、加载图片/3、在一定范围内筛选可发射的烟花,并初始化发射参数,输出烟花弹到屏幕,播放声音/4、扫描烟花弹并发射/5、显示花样/6、绽放烟花 到时候一并会发的
c语言编程创意表白,C语言和图形界面编程打造——浪漫的表白程序相关推荐
- Gox语言中使用Sciter库进行GUI图形界面编程-GX23.1
Sciter是非常优秀的跨平台GUI图形界面编程库,只需附带一个动态链接库文件,就可以实现基于HTML/CSS/TiScript的图形界面,并且已经经过很多公司和商用产品的实际检验,稳定可靠.我们常见 ...
- 如何打开电脑c语言窗口,C语言控制台窗口图形界面编程(五). -电脑资料
控制文本的移动是控制台窗口界面编程的一个很重要的功能,有了这个功能我们可以实现界面的滚动, BOOL ScrollConsoleScreenBuffer( //文本移动函数 HANDLE h ...
- C语言写疫情防控系统(easyx图形界面)
C语言写疫情防控系统(easyx图形界面) 系统功能描述 管理员界面: 输入管理员账号.密码登录管理员界面. 对学生信息进行增.删.改.查,学生信息包括姓名.学号.密码.邮箱.电话.学院:对全体学生信 ...
- Qt图形界面编程入门(4)
构造函数和析构函数 构造函数是一个与类同名的特殊的公有成员函数. 创建类对象时构造函数会被调用,且只调用一次/ 构造函数无返回类型. · 默认构造函数格式: 类名(){.......} Accoun ...
- java图形界面多线程_多线程编程、Java I/O系统和Java图形界面编程
多线程编程: 一个正在运行的程序通常称为一个进程,每一个任务称为一个线程,中能够在一个程序内运行多线程的程序称为多线程程序. 线程与进程的区别:①每个进程都需要操作系统为其分配独立的内存空间: ②而同 ...
- 怎么开发Linux图形界面程序,Linux下的图形界面编程
Linux下的图形界面编程 一.Qt和GTK+ 虽然Linux下的大多数开发是基于字符界面的,但在Linux环境下也可以开发出美观大方的图形界面.经过多年的发展,目前已经存在多种用于在Linux下开发 ...
- Python进阶(一) - 图形界面编程Tkinter(1)
一.图形界面编程 图形用户界面(Graphical User Interface,GUI)是用户与程序交互的接口,好的GUI会大大提高用户交互体验,其实就是我们平时使用电脑时,使用鼠标.键盘点击的程序 ...
- python 如何删除frame 中的 label标签控件_玩转图形界面编程—解析Python小挑战No12(2)...
<Python真好玩,教孩子学编程>小挑战[转载] 第十二章,玩转图形界面编程书籍<Python真好玩,教孩子学编程> 讲解了如何通过tkinter模块来完成图形交互界面 tk ...
- 【转】linux图形界面编程基本知识
原文:https://blogs.gnome.org/raywang/2007/10/11/linux%E5%9B%BE%E5%BD%A2%E7%95%8C%E9%9D%A2%E7%BC%96%E7% ...
- Java图形编程实验总结_实验二java图形界面编程2015级.doc
实验二java图形界面编程2015级.doc 实验二JAVA图形界面编程一.实验目的熟悉JAVA运行环境,编程掌握JAVASWING组件的图形界面编程.二.实验环境微机,软件MYECLIPSE,JDK ...
最新文章
- python取整数_python 取整函数
- 前端开发模式--MV*
- Sql Server实用操作-动态sql语句基本语法
- ie6 span 换行IE6中float:right换行问题的替代解决方案
- 矩池云上安装yolov5并测试
- [系统安全] 十五.Chrome密码保存功能渗透解析、Chrome蓝屏漏洞及音乐软件漏洞复现
- 多元统计分析--判别(距离判别、Fisher判别、Bayes判别)
- python中并集的符号_Python 集合set添加删除、交集、并集、集合操作符号
- 【持续更新】Pun多人在线游戏开发教程
- MATLAB泰勒展开lnx,lnx泰勒展开公式形式,lnx泰勒展开式怎么展开,sinx泰勒展开
- 《计算之魂》思考题4.3
- Linux 命令(246)—— mii-tool 命令
- 电子音乐包括电声乐器和计算机音乐,对国内电子和电声音乐发展的思考与分析...
- 助力全球抗疫,腾讯加入Linux基金会公共卫生计划
- 归纳偏置/归纳偏差/inductive bias
- 暑假实习 + 提前批 +校园招聘(更新中)
- 原创 | 聊聊延迟满足
- Panoply:一款netCDF, HDF and GRIB数据查看器
- 在xp中tc环境下实现的 销售管理系统(可切换繁体和简体,可设密码,可通过修改代码修改字体颜色)
- ASP.NET 初始入门
热门文章
- 无卡时代存取款的N种姿势:刷脸、扫码、手机Pay
- 小猿圈web分享-一个web全栈工程师的面试总结
- 手机浏览器哪个好用,UC、多御和QQ浏览器对比
- 【统计学】三大相关系数之斯皮尔曼相关系数(spearman correlation coefficient)
- 数学建模(5.5)相关系数_斯皮尔曼相关系数
- 数二计算机考研大纲2016,2016数二考研大纲.doc
- Android ADB命令大全
- WebService--了解wsdl文件
- 黑苹果alc269声卡仿冒id_AppleALC仿冒声卡驱动alc269优化版(Lenovo Z580亲测)
- oracle mysql 推荐书籍