电竞比分网-中国电竞赛事及体育赛事平台

分享

你知道那個(gè)經(jīng)典的忒牛的黑客字母跳動(dòng)屏幕到底是個(gè)什么嗎?

 新潮看世界 2022-11-17 發(fā)布于北京

很多小菜,學(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;
		}
	}

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多