暂存一下等会写

#include<easyx.h>

IMAGE SNOW 图形变量

struct MOVE生存结构体

{int x=0;int y=0;

bool live=false;};

initgraph(800, 800);初始化图形界面

MOVE snowflake[5000];目标数量

loadimage(&SNOW, "snow.png");加载图片

BeginBatchDraw(); 开始批量绘图。写在循环外

EndBatchDraw(); 结束批量绘制,并执行未完成的绘制任务。循坏外,程序结束前

FlushBatchDraw(); 执行未完成的绘制任务。写在循环内,构图后,延迟前

void DRAW_SNOW(){画出目标

for(int i=0;i<=5000;i++){

if(SNOW.live){

putimage(x,y, &SNOW2, NOTSRCERASE);暗底

putimage(x,y, &SNOW1, SRCINVERT);亮层 } } }

void CREATE_SNOW(){生成目标

for (int i = 0; i <= 5000; i++)

{if (!snowflake[i].live)

{snowflake[i].x = rand() % (731);

snowflake[i].y = 0;

snowflake[i].live = true;break;}}}

void snowmove(){目标移动

for (int i = 0; i <= 50; i++){

if (snowflake[i].live){

snowflake[i].y += 1;

snowflake[i].x += 0;}

if (snowflake[i].y > 800)

{snowflake[i].live = false;}}}

bool timer(int ms, int id)//时间戳

{

static DWORD t[500];

// 将 clock() 的返回值转换为 DWORD 类型

if (static_cast<DWORD>(clock()) - t[id] > static_cast<DWORD>(ms))

{

t[id] = static_cast<DWORD>(clock());

return true;

}

return false;

}

相关推荐
猎板PCB厚铜专家大族27 分钟前
高频 PCB 技术发展趋势与应用解析
人工智能·算法·设计规范
dying_man38 分钟前
LeetCode--24.两两交换链表中的结点
算法·leetcode
yours_Gabriel38 分钟前
【力扣】2434.使用机器人打印字典序最小的字符串
算法·leetcode·贪心算法
草莓熊Lotso1 小时前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM1 小时前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法
CV点灯大师2 小时前
C++算法训练营 Day10 栈与队列(1)
c++·redis·算法
GGBondlctrl2 小时前
【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
算法·leetcode·n皇后·有效的数独·解数独·映射思想·数学思想
武子康2 小时前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting
武子康2 小时前
大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
大数据·人工智能·算法·机器学习·ai·spark-ml·boosting