|
很多小菜,學(xué)生黨,對(duì)黑客的經(jīng)典印象,就是看到電影電視劇里面出現(xiàn)的一個(gè)電腦屏幕亮閃閃的一行行一列列的字母跳動(dòng),美其名曰代碼在飛。 人們對(duì)于黑客的理解就是,手指不停地在鍵盤上敲擊,然后電腦上出現(xiàn)一幕幕的字母跳動(dòng),連眼睛都沒看清楚那是個(gè)什么單詞,就一閃而過了。 那么這個(gè)跳動(dòng)的黑客屏幕到底是個(gè)什么鬼呢?
其實(shí)這就是一個(gè)程序,挺簡單的一個(gè)程序。早期由于電影特效比較貴,所以很多電影電視劇就拿這個(gè)程序展示了一下,結(jié)果觀眾真的很受用。很多小孩一看嘩嘩嘩的跳動(dòng)的字母,好厲害的樣子,不禁驚呼“天才”。 那么這個(gè)程序叫什么呢? 它叫cmatrix,名字翻譯過來就是“C語言矩陣”,就是數(shù)組,然后數(shù)組里面都是字母字符。再讓它們按照某個(gè)規(guī)律,展示跳動(dòng)的效果。 目前Windows和Ubuntu下都有這個(gè)程序。 我們一起來看看這個(gè)程序的真面目:
這個(gè)程序其實(shí)只有一個(gè)cmatrix.c的代碼文件,僅僅只是在一個(gè)命令行的工具上,畫了一些字母字符。功能簡單。效果確實(shí)很到位。 這個(gè)程序的代碼行數(shù)為641行,
程序通過一個(gè)死循環(huán)啟動(dòng),然后在里面不斷地變換加亮顯示的字母字符。 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;
}
}
|
|
|