Skip to content

C++ Matrix: The Matrix Reloaded in Terminals (Number falls, Banners, Matrix rains, Conway's Game of Life and Mandelbrot set)

License

Notifications You must be signed in to change notification settings

diablov/cxxmatrix

 
 

Repository files navigation

C++ Matrix in terminal

I wrote a simple terminal program of Matrix digital rain. A part of the purpose of this program is to test the performance of terminal emulators. Another purpose is just for fun. Enjoy it with fast terminals (e.g., urxvt, alacritty, terminology, etc.)!

Features

  • Hankaku kana characters as in the original film
  • Ten levels of "green"s using terminal 256 color support
  • Twinkling effects by adding random brightness fluctuations
  • Diffused reflection effects by cell background colors

Scenes

The following scenes will be visited in turn. If you want to see the Mandelbrot set, you need to hold on for a few minutes.

  1. Number falls
  2. Banner - Show command line arguments by shining characters
  3. "The Matrix" rain - Wikipedia
  4. Conway's Game of Life - Wikipedia
  5. The Mandelbrot set - Wikipedia
  6. (End scene) "The Matrix" rain

Demo

  • cxxmatrix in 80x28 - Youtube
  • The Mandelbrot set in 479x186 - YouTube
  • Highlight scenes - See the animated GIF below

Captures

Usage

This program is provided under the MIT License.

Requirements:

  • git, C++17 compiler, GNU make, GNU awk
  • UTF-8 support of the system
  • a fast terminal with 256color and UTF-8 support
$ git clone https://github.com/akinomyoga/cxxmatrix.git
$ cd cxxmatrix
$ make
$ ./cxxmatrix 'The Matrix' 'Reloaded'

Quit: C-c; Suspend: C-z; Menu: RET, C-m

Options

Please check the help with the option --help:

$ ./cxxmatrix --help

Similar programs

Related tags in GitHub

The Matrix rains in terminals

The Matrix rains in browsers

Others

About

C++ Matrix: The Matrix Reloaded in Terminals (Number falls, Banners, Matrix rains, Conway's Game of Life and Mandelbrot set)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.1%
  • Makefile 2.0%
  • Awk 1.9%