首页 » 99链接平台 » 教你写C语言入门新手也能轻松实现的黑客帝国代码雨特效(显示代码颜色字符黑客帝国)

教你写C语言入门新手也能轻松实现的黑客帝国代码雨特效(显示代码颜色字符黑客帝国)

雨夜梧桐 2024-10-23 22:30:20 0

扫一扫用手机浏览

文章目录 [+]

我们先看一下最终实现的效果图片,我们实现了红色的代码雨效果。

红色代码雨

我们将任务分解一下,其实也只有两项。

教你写C语言入门新手也能轻松实现的黑客帝国代码雨特效(显示代码颜色字符黑客帝国) 99链接平台
(图片来自网络侵删)

1.实现随机文字竖排连续显示。

2.实现文字颜色渐隐。

下面我们分别来实现两个需求。

要实现文字竖排连续显示,可以将显示字符列看成一个数组。
数组成员初始化为随机值,然后将成员值进行递减。
再根据当前值的大小,决定是否显示字符。
成员随机值的大小和显示阈值。
决定显示画面的稀疏。
我们假定显示阈值是16,低于16就显示字符。
高于16就显示空格。
随机值最高为80。
下面是实现文字竖排连续显示的代码。

char text="abcdefghijklmnopqrstuvwxyz";//显示的字母表int row[100]={0};//设定显示列为100列,全部初始化为0int i;srand(time(NULL));//初始化随机数while(1){ for(i=0;i<100;i++) { if(--row[i]<0)//不停的递减,小于0就重新初始化 row[i]=rand()%80;//成员值为80以下的随机数 if(row[i]<16)//成员值小于16,则显示字符,否则显示空格 printf("%C",text[rand()%26]);//显示一个随机字符 else printf(" ");//显示一个空格 } printf("\n");//显示完一行,强制换行 Sleep(50);//添加延时,控制速度}

完成了随机文字竖排显示,我们下面要解决的就是文字颜色渐隐效果了。
我们的代码在Windows下编译。
运行的环境是MS-DOS平台。
DOS只能显示16位颜色,设定文字颜色只能设定0-15的索引值。
但MS-DOS给我们提供了修改颜色表的API ,我们要做的就是利用API修改颜色表,将16个索引颜色设定为红色由浅到深的过渡颜色。
代码如下:

#include <windows.h> //调用 Windows API要包含Windows.h头文件CONSOLE_SCREEN_BUFFER_INFOEX info; //控制台屏幕缓冲信息结构HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE); //获取控制台句柄info.cbSize=sizeof(info); //这个结构大小必须填写,否则后面API调用会出错if(GetConsoleScreenBufferInfoEx(hConsole,&info))//获取屏幕缓冲结构信息{ int i; for(i=0;i<16;i++)//填充16个索引色 info.ColorTable[i]=RGB(17i,0,0);//将红色进行16等分,每一个梯度变化为17 SetConsoleScreenBufferInfoEx(hConsole,&info);//修改索引色}

修改完索引色,我们只需要在每次显示字符的时候,使用API修改字符颜色为指定的索引值。

if(row[i]<16)//成员值小于16,显示字符{ SetConsoleTextAttribute(hConsole,row[i]);//修改字符颜色为索引值 printf("%C",text[rand()%26]);//显示随机字符}

看懂的小伙伴可以将代码组合起来,就可以实现我们需要的效果,修改不同的颜色表,可以生成不同颜色的代码雨。
如有不太明白的,可以在评论区讨论。

浅蓝色代码雨

绿色代码雨

黄色代码雨

标签:

相关文章