Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<html>
  <style>
    body { font-family: monospace; text-align: center;}
    #output { margin: 2em; font-size: 20px;}
  </style>
  
  Binary Tetris
  <div id="output"></div>
  
  <a href="https://gist.github.com/1672254">Source</a>
  <script>
var t =
function(a,b,c,d,e){return d+=c,e=a|b<<d,d<0|a&b<<d&&(a=e=parseInt((a|b<<c).toString(d=32).replace(/v/,""),d),b=new Date%2?1:3),[a,b,d,e]}
// Controller and Display
var out = document.getElementById("output");
var board = 0,
    block = 3,
    position = 32,
    display;
function update(offset){
  
  var txt = "",
    result = t(board,block,position, offset);
    
  board = result[0];
  block = result[1]
  position = result[2]
  display = result[3];
  display = ( 1<<30 | + display ).toString(2);
  
  for(var i=1; i<31;i++){
    txt += display[i] == "1" ? "#" : ".";
    if(i%5 == 0) txt+= "<br>"; 
  }
  
  out.innerHTML = txt;
}
update(0);
onkeydown = function(e){
  
  var offset = 0;
  
  switch (e.keyCode){
    case 37: offset =  1; break; 
    case 39: offset = -1; break; 
    case 40: offset = -5; break; 
  }
  
  update(offset);
}
var speed = 1000;
function loop(){
  update(-5);
  setTimeout(loop, speed-=5);
}
  
loop();
    
  </script>
  
</html>
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
aemkeipro
0viewers