Code Golfed Tetris

Inspired by a (Re)Implementing Tetris and a challenge on SO 3 years ago when PCG did not yet exist, the classy tetris has yet to live again in the art-work of PCG's golfers. So here are the features:


  • Game must be playable.
  • Playfield or blocks are 10 in width and 20 in height
  • Complete 7 tetrominoes are involved
  • Controls on the current tetromino: Right and Left Navigator, Tetromino rotator (Can be only clockwise), & Hard drop.


  • -50 Distinguished color for each tetromino
  • -50 Distinguished texture for each tetromino enter image description here

Provide a photo of the output for those who can't emulate it

  • 1
    \$\begingroup\$ There's potential for a really good question here, but as it stands the spec is way too loose. Your bonuses aren't worth the effort because, for example, adding a menu will cost more than 35 characters in any language so it's cheaper to leave it out. I think it would be better to be more strict about what you do and do not want in the entries, and skip the bonuses. \$\endgroup\$
    – Gareth
    Mar 7 '14 at 15:41
  • 4
    \$\begingroup\$ It's always better to be strict about what you do and don't want and skip the bonuses. \$\endgroup\$ Mar 7 '14 at 15:51
  • 1
    \$\begingroup\$ must have a reasonable distribution of tetrimnoes What does this mean? Is this just protecting against xkcd.com/221 ? \$\endgroup\$
    – Cruncher
    Mar 7 '14 at 15:56
  • 1
    \$\begingroup\$ @Daniel Are you saying that you want the program to skew the random results to FORCE a distribution? If so that should seriously be put into the question. (NVM, I see that you did). This leads to the question, is this the only restriction on producing tetriminos? If I assign them an ID and pick it with (++curID)%7 would that be valid? \$\endgroup\$
    – Cruncher
    Mar 7 '14 at 16:06
  • 3
    \$\begingroup\$ "different texture for every tetromino" : Since most answers will be ASCII art, I assume this is just using a different symbol for every tetromino. \$\endgroup\$ Mar 7 '14 at 21:04

Browse other questions tagged or ask your own question.