Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C语言和图形界面编程打造——浪漫的表白程序

C语言和图形界面编程打造——浪漫的表白程序

原创
作者头像
卜卜-Totoro
修改于 2020-01-09 09:30:56
修改于 2020-01-09 09:30:56
6.3K0
举报
文章被收录于专栏:信息传播信息传播
代码语言:txt
AI代码解释
复制
#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();

}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言教你写个‘浪漫烟花‘---特别漂亮
首先绘制菜单界面显示文字。烟花有上升阶段和爆炸阶段,定义烟花和烟花弹结构体。 烟花:坐标位置,爆炸的半径大小,最大半径,中心距左上角的距离,长宽,像素,时间等。 烟花弹:坐标位置,最高点,是否发射,时间,个数等。 初始化数据。加载资源贴图。随机发射数目随机,
用户6754675
2020/12/07
5.8K0
C/C++实现你的浪漫表白:浪漫流星雨表白程序
想要讨女朋友欢心也巩固自己所学的知识,各位小伙伴有自己的想法了吗?准备好想要怎样实施了吗?有什么美好的计划了吗?如果没有的话那么别慌,我知道,在座的各位肯定都是有自己的心仪的姑娘,那么今天就教大家一招,做一个表白程序去进行表白,别等了,赶紧打开你的IED,跟着代码敲起来,不然的话,喜欢的人都跟别人跑了!
用户6754675
2020/09/09
25.4K0
C语言/C++雷霆战机代码(终极版)
一枕眠秋雨
2024/03/11
5980
C语言/C++雷霆战机代码(终极版)
C语言实现学生成绩管理系统(EasyX图形界面)
注意:直接复制代码会无法运行,因为没有资源文件(图片、文本文件),从下面的github链接或交流群中下载代码或注释指定代码,有关此问题,例如:无法运行等,一律不予回复。望周知。(20220611注)
全栈程序员站长
2022/09/06
2K1
C语言实现学生成绩管理系统(EasyX图形界面)
C语言/C++实战项目雷霆飞机(代码改进)
一枕眠秋雨
2024/03/11
2080
经典C语言/C++项目,雷霆战机
一枕眠秋雨
2024/03/11
2380
经典C语言/C++项目,雷霆战机
“我要做太空人”----太空人表盘制作
有智能手表的人都知道,前段时间的“太空人表盘”非常火热。那么我们也可以自己动手来制作一款太空人表盘。
跋扈洋
2021/05/20
5992
C语言实现推箱子小游戏(2)
---- 相关文章——C语言实现推箱子小游戏 ---- 推箱子 编译软件:VS2019 下载:代码文件我已经上传到GitHub 链接 下载最新的那个!(文件夹形式的) 注意: fopen scanf编译器认为的不安全报错 解决:项目属性-C/C+±预处理器-预处理定义-编辑-加入_CRT_SECURE_NO_WARNINGS 图形库函数xxx等问题 解决:项目属性-高级-字符集-使用多字节字符集 图形窗口注意贴图顺序以及参数 文件读取问题——链接 相关有帮助的文章—
半生瓜的blog
2023/05/12
7470
C语言实现推箱子小游戏(2)
c语言别踩白块儿(双人版)源码
#undef UNICODE #undef _UNICODE #include <graphics.h> #include <conio.h> #include <stdio.h> #include <time.h> #define MAXTASK 50 // 定义游戏需要完成的黑块数量 // 定义宏 __sprintf 自适应 vc6 与 vc2013 #if _MSC_VER > 1200 #define __sprintf(...) sprintf_s(__VA_ARGS__) #e
C语言与CPP编程
2021/01/02
1.7K0
【程序源码】用纯C语言实现坦克大战
程序源码 今天笔者又给大家带来一个好玩的东西——纯C语言实现坦克大战源码! TC的环境下,运行效果截图如下: 上下左右控制方向,空格为发射炮弹,还带声音哦!
编程范 源代码公司
2018/04/18
5.1K0
【程序源码】用纯C语言实现坦克大战
c语言游戏小型程序代码,C语言小游戏源码「建议收藏」
if(MouseX>280&&MouseX<300&&MouseY>65&&MouseY<85)
全栈程序员站长
2022/08/30
9K0
【精选】表白小姐姐(C语言)
1.Visual Studio 2022 2.安装easyx图形库,可以调用头文件
命运之光
2024/03/20
750
【精选】表白小姐姐(C语言)
c语言奔跑的火柴人游戏源码
#include <iostream> #include <fstream> #include <graphics.h> #include <conio.h> #include <time.h> using namespace std; // 来自公众号:c语言与cpp编程 /******全局变量******/ #define STEPDISTANCE 6 // 一步的距离。数值越大,移动速度越快 #define JUMPSPEED 10 // 数值越小,跳得越远 #define ROLLDIS
C语言与CPP编程
2021/01/02
2.8K0
c语言对对碰游戏源码
//////////////////////////////////////////////////////////// //画素材的x和y都是反的,因为x表示行,但是画出来x表示列,y同 //////////////////////////////////////////////////////////// // 来自公众号:c语言与cpp编程 #include <graphics.h> #include <fstream> #include <strstream> #include <iomanip
C语言与CPP编程
2021/01/02
4160
【精选】新年祝福(C语言),Easyx图形库应用+源代码分享
1.Visual Studio 2022 2.安装easyx图形库,可以调用头文件
命运之光
2024/03/20
2050
【精选】新年祝福(C语言),Easyx图形库应用+源代码分享
【精选】适合初学者小游戏,Easyx图形库运用,跳转页面,窗口句柄简单应用,C语言
一、项目环境 1.Visual Studio 2022 2.安装easyx图形库,可以调用头文件
命运之光
2024/03/20
3640
【精选】适合初学者小游戏,Easyx图形库运用,跳转页面,窗口句柄简单应用,C语言
C语言实现贪吃蛇小程序
参考视频 https://www.bilibili.com/video/BV1LN41197zV?from=search&seid=15462998985727977257 代码有点缺陷:1.食物有可
半生瓜的blog
2023/05/12
4340
【精选】各种节日祝福(C语言,可修改),Easyx图形库应用+源代码分享
1.Visual Studio 2022 2.安装easyx图形库,可以调用头文件
命运之光
2024/03/20
3410
【精选】各种节日祝福(C语言,可修改),Easyx图形库应用+源代码分享
【C++】飞机大战项目记录
根据飞机大战的游戏特性,首先可以确定的是游戏的基本玩法和规则。对于本软件项目,游戏的核心机制是使用鼠标控制一架飞机在屏幕上移动,同时飞机会自动发射子弹来击败敌机。我们将通过Easyx来实现该项目!
叫我龙翔
2024/04/21
3990
【C++】飞机大战项目记录
[程序源码]C语言实现俄罗斯方块(TC2.0)
看大家这么喜欢源码,那么好吧,小编和黄老师要了许多源码,这就给大家一一分享出去! C语言实现俄罗斯方块游戏 TC2.0环境,主要用到TC提供的graphics来实现相关的绘图,实际运行效果如下: 对应
编程范 源代码公司
2018/04/18
2.1K0
[程序源码]C语言实现俄罗斯方块(TC2.0)
推荐阅读
相关推荐
C语言教你写个‘浪漫烟花‘---特别漂亮
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档