表白神器java代码_程序员的表白神器代码

表⽩神器java代码_程序员的表⽩神器代码原标题:程序员的表⽩神器代码
这篇代码是程序员的福利,拜拜的⼀个神奇,各位,拿去,不谢!表⽩成功啦记得请⼩编吃饭就是!
支承板烟花源代码
#include
#include
#include
#include
#include
#include
#pragma comment ( lib, "Winmm.lib" )
/***** 宏定义区 ******/
数据监控
#define NUM 13 // 烟花种类数量宏定义
#define PI 3.1415926548
/***** 结构定义区 **********/
// 烟花结构
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/bk.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 < NUM; i++) // 初始化烟花
{
Init(i);
}
Load(); // 将烟花图⽚信息加载进相应结构中
BeginBatchDraw(); // 开始批量绘图
while (!kbhit())
{
防辐射电磁炉
Sleep(10);
// 随机选择 4000 个像素点擦除
for (int clr = 0; clr < 1000; clr++)
{
for (int j = 0; j < 2; j++)
{羊毛鞋垫
int px1 = rand() % 1200;
int py1 = rand() % 800;
if (py1 < 799) // 防⽌越界
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 < 50; 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, y-50, "制作⼈:⼩魔王");
outtextxy(x - 130, y + 100, "⽤代码将梦想照进现实!");
Sleep(25);
}
getchar();
cleardevice();
settextstyle(25, 0, "楷体");
outtextxy(400, 150, "什么都没有总⽐现在的好");
outtextxy(400, 200, "有⼀点点希望");
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(400, 650, "再光鲜亮丽的副驾驶也不及⾃⼰握⽅向盘");
getchar();
}
// 初始化烟花参数
void Init(int i)
{
// 分别为:烟花中⼼到图⽚边缘的最远距离、烟花中⼼到图⽚左上⾓的距离 (x、y) 两个分量int r[13] = { 120, 120, 155, 123, 130, 147, 138, 138, 130, 135, 140, 132, 155 }; int x[13] = { 120, 120, 110, 117, 110, 93, 102, 102, 110, 105, 100, 108, 110 }; int y[13] = { 120, 120, 85, 118, 120, 103, 105, 110, 110, 120, 120, 104, 85 };
/**** 初始化烟花 *****/
Fire[i].x = 0; // 烟花中⼼坐标
Fire[i].y = 0;
Fire[i].width = 240; // 图⽚宽
Fire[i].height = 240; // 图⽚⾼
Fire[i].max_r = r[i]; // 最⼤半径
Fire[i].cen_x = x[i]; // 中⼼距左上⾓距离
Fire[i].cen_y = y[i];
Fire[i].show = false; // 是否绽放
Fire[i].dt = 5; // 绽放时间间隔
Fire[i].t1 = timeGetTime();
Fire[i].r = 0; // 从 0 开始绽放
/**** 初始化烟花弹 *****/
Jet[i].x = -240; // 烟花弹左上⾓坐标
Jet[i].y = -240;
Jet[i].hx = -240; // 烟花弹发射最⾼点坐标
Jet[i].hy = -240;
Jet[i].height = 0; // 发射⾼度
Jet[i].t1 = timeGetTime();
Jet[i].dt = rand() % 10; // 发射速度时间间隔
Jet[i].n = 0; // 烟花弹闪烁图⽚下标
Jet[i].shoot = false; // 是否发射
}
// 加载图⽚
void Load()
{
/**** 储存烟花的像素点颜⾊ ****/
IMAGE fm, gm;
loadimage(&fm, "./fire/flower.jpg", 3120, 240); for (int i = 0; i < 13; i++)
{
SetWorkingImage(&fm);
getimage(&gm, i * 240, 0, 240, 240); SetWorkingImage(&gm);
for (int a = 0; a < 240; a++)
for (int b = 0; b < 240; b++)
Fire[i].xy[a][b] = getpixel(a, b);

本文发布于:2024-09-21 12:34:55,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/120338.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:烟花   发射   像素点   代码   程序员   绽放
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议