4行程式碼再現《黑客帝國》數字雨,在終端實現的那種
- 2020 年 3 月 13 日
- 筆記
十三 發自 凹非寺 量子位 報道 | 公眾號 QbitAI
提到《黑客帝國》,字元雨可謂是讓人印象深刻。

這種科技感爆棚的特效,你是否也想來一套?
這個,可以有。
最近,名叫akinomyoga的GitHub用戶,便上傳了這樣一個項目。

只要有終端、有C++,幾行程式碼就能實現!
超級方便有木有?
炫酷效果展示
akinomyoga做這個項目,除了檢測終端模擬的性能,還有就是覺得特別有意思。
除了我們上面看到的《黑客帝國》字元雨,比較基礎的實現包括數字掉落、字元閃爍顯示。

還能實現了《康威生命遊戲》(Conway』s Game of Life)的特效。

在複雜點的,曼德布洛特集合(Mandelbrot set)也能實現。
曼德布洛特集合是在複平面上組成分形的點的集合,一種分形圖案。

如何再現數字雨?
效果如此震撼,實現起來會不會很複雜?完全不會。
首先,還是老規矩——介紹一下環境需求。
- 需要有git、C++編譯器、GNU Maker和GNU AWK;
- 系統支援UTF-8;
- 支援256色和UTF-8的終端。
而後,僅僅需要下面4行程式碼就能實現!
$ git clone https://github.com/akinomyoga/cxxmatrix.git $ cd cxxmatrix $ make $ ./cxxmatrix 'The Matrix' 'Reloaded'
但是,沒有C++怎麼辦?
不急,部落客還非常好心的總結了許多類似的,用其他語言可以在終端實現的GitHub項目。
C語言實現: https://github.com/abishekvashok/cmatrix
Python 3實現: https://github.com/will8211/unimatrix
Go語言實現: https://github.com/GeertJohan/gomatrix
嫌終端實現還是麻煩?那試試在瀏覽器吧。
HTML5 Canvas實現: https://github.com/tidwall/digitalrain
CSS 3實現: https://github.com/raphaklaus/matrix-fx
WebVR實現: https://github.com/pazdera/matrix-vr
當然,還有需要其它實現的方法,可以去這個GitHub項目中了解更多。
傳送門
GitHub項目地址: https://github.com/akinomyoga/cxxmatrix