Skip to content

Instantly share code, notes, and snippets.

@skopp
Last active December 15, 2015 08:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skopp/5229787 to your computer and use it in GitHub Desktop.
Save skopp/5229787 to your computer and use it in GitHub Desktop.
The Matrix Console in JS
<canvas id="q"></canvas>
* {
margin: 0;
padding: 0;
border: 0;
}
body {
background: #dff;
font: 30px sans-serif;
}
// forked from skopp's "forked: the-matrix" http://jsdo.it/skopp/vEBP
// forked from teetteet's "forked: the-matrix" http://jsdo.it/teetteet/fiiz
// forked from dongriab's "the-matrix" http://jsdo.it/dongriab/c56Z
var s = window.screen;
var width = q.width = s.width;
var height = q.height = s.height;
var letters = Array(256).join(1).split('');
var draw = function () {
q.getContext('2d').fillStyle='rgba(0,0,0,.05)';
q.getContext('2d').fillRect(0,0,width,height);
q.getContext('2d').fillStyle='#0F0';
letters.map(function(y_pos, index){
text = String.fromCharCode(3e4+Math.random()*33);
x_pos = index * 10;
q.getContext('2d').fillText(text, x_pos, y_pos);
letters[index] = (y_pos > 758 + Math.random() * 1e4) ? 0 : y_pos + 10;
});
};
setInterval(draw, 33);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment