很多小菜,学生党,对黑客的经典印象,就是看到电影电视剧里面出现的一个电脑屏幕亮闪闪的一行行一列列的字母跳动,美其名曰代码在飞。 人们对于黑客的理解就是,手指不停地在键盘上敲击,然后电脑上出现一幕幕的字母跳动,连眼睛都没看清楚那是个什么单词,就一闪而过了。 那么这个跳动的黑客屏幕到底是个什么鬼呢? 其实这就是一个程序,挺简单的一个程序。早期由于电影特效比较贵,所以很多电影电视剧就拿这个程序展示了一下,结果观众真的很受用。很多小孩一看哗哗哗的跳动的字母,好厉害的样子,不禁惊呼“天才”。 那么这个程序叫什么呢? 它叫cmatrix,名字翻译过来就是“C语言矩阵”,就是数组,然后数组里面都是字母字符。再让它们按照某个规律,展示跳动的效果。 目前Windows和Ubuntu下都有这个程序。 我们一起来看看这个程序的真面目: 这个程序其实只有一个cmatrix.c的代码文件,仅仅只是在一个命令行的工具上,画了一些字母字符。功能简单。效果确实很到位。 这个程序的代码行数为641行, 程序通过一个死循环启动,然后在里面不断地变换加亮显示的字母字符。 while (1) { count++; if (count > 4) count = 1; if ((keypress = wgetch(stdscr)) != ERR) { if (screensaver == 1) finish(0); else switch (keypress) { case 'q': finish(0); break; case 'a': asynch = 1 - asynch; break; case 'b': bold = 1; break; case 'B': bold = 2; break; case 'n': bold = 0; break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': update = keypress - 48; break; case '!': mcolor = COLOR_RED; break; case '@': mcolor = COLOR_GREEN; break; case '#': mcolor = COLOR_YELLOW; break; case '$': mcolor = COLOR_BLUE; break; case '%': mcolor = COLOR_MAGENTA; break; case '^': mcolor = COLOR_CYAN; break; case '&': mcolor = COLOR_WHITE; break; } } |
|
来自: 新潮看世界 > 《Ubuntu基础》