C/C++实现电影黑客帝国中的代码雨效果

2021-02-11 04:17

阅读:594

标签:代码   word   http   nload   class   屏幕   draw   main   ret   

C/C++实现代码雨效果

目录
  • C/C++实现代码雨效果
    • 说明
    • 使用的库说明
    • 测试代码
    • 效果图

说明

  • 最近整理电脑资料,翻出了以前写的代码,顺便整理一下到博客上,当做一次备份记录

  • 先看看静态效果

    技术图片

  • 需要分为以下步骤实现

    • 生成代码串
    • 把代码串绘制到窗口中
    • 使用双缓冲机制避免屏幕闪烁
    • 让代码串往下移动
    • 随机选择代码串中的随机字符位置做随机修改

使用的库说明

  • 使用easyX图形库实现,库安装包路径:https://easyx.cn/downloads/

测试代码

#include 
#include 
#include 
#include 

#define WIDTH 960
#define HEIGHT 640
#define STR_SIZE 20
#define STR_NUM 128
#define STR_WIDTH 15


typedef struct Rain
{
	int x;
	int y;
	int speed;
	TCHAR str[STR_SIZE];
}Rain; 
Rain rain[STR_NUM];

// 随机生成一个字符
char CreateCh()
{
	char ch = 0;
	int flag = rand() % 3; // 0~2
	if (flag == 0)
		ch = rand() % 26 + ‘a‘; // 产生小写字母a~z
	else if (flag == 1)
		ch = rand() % 26 + ‘A‘; // 产生大写字母A~Z
	else
		ch = rand() % 10 + ‘0‘; // 产生数字0~9

	return ch;
}
// 初始化结构体成员
void InitRain()
{
	// 初始化字符的位置和速度
	for (int i = 0; i  HEIGHT)
		{
			rain[i].y = 0;
		}
	}
}
// 随机改变字符
void ChangeCh()
{
	for (int i = 0; i  20)
		{
			MoveRain();
			t1 = t2;
		}
		t2 = GetTickCount();
		EndBatchDraw();
	}
	getchar();
	closegraph();
	return 0;
}


效果图

技术图片

C/C++实现电影黑客帝国中的代码雨效果

标签:代码   word   http   nload   class   屏幕   draw   main   ret   

原文地址:https://www.cnblogs.com/veis/p/12737876.html


评论


亲,登录后才可以留言!