c语言——easyx实现飘雪花效果

本文介绍了一个使用C语言和graphics库实现雪花飘落效果的程序。通过随机初始化雪花位置,并在雪花下落至屏幕底部时重新定位,实现了连续随机的雪花飘落效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,需要设定雪花在一个窗口中的总数目,这个关系到雪花的空间密度。
假定有20个雪花。就需要两个数组,分别为x[20] y[20]来分别记录x坐标和y坐标。通过自定义一个函数来初始化雪花的位置。这里需要用到随机数的相关知识。
其次,如果当雪花落下时,在雪花落的位置画一个雪花,模拟雪花残留在地面上。当雪花的y坐标达到画布上限时,令其为0,再重新初始化x坐标,即可实现雪花的连续随机飘落。下面是代码:

#include <graphics.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
// 定义点的坐标数组
int x[100];			// 点的 x 坐标
int y[100]; // 点的 y 坐标
	int i;	

void update_fall();
int main()
{
	srand( (unsigned)time(NULL) );
	
	initgraph(640, 480);
	
    update_fall();
	while(!_kbhit())
	{
		
		for(i = 0; i < 20; i++)
		{
			
			// 擦掉前一个点
			setcolor(BLACK);
			setfillcolor(BLACK);
			fillcircle(x[i],y[i],5);
			// 计算新坐标
			y[i] += 3;
			if (y[i]>= 480)      
			{
			 setcolor(WHITE);   //在落地位置画雪花
			 setfillcolor(WHITE);
			 fillcircle(x[i],y[i],5);
             y[i]=0;   //重新初始化雪花的位置
			 x[i]=rand() % 640;
			}
            setcolor(WHITE);  //在新位置画雪花
			setfillcolor(WHITE);
			fillcircle(x[i],y[i],5);
			
		}
		
		Sleep(10);
	}
	
	closegraph();
	return 0;
}

void update_fall()
{
	for (i = 0; i < 20; i++)
	{
		x[i] = rand() % 640;
		y[i] = rand() % 480;
	}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值