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