0 could be an empty space and you would be left with 9 colors. Alpha characters could be used for special blocks:
If you had different size blocks, you could build a matrix like so:
2,w,0,0,2 w = wall block
2,2,w,0,3 x = bomb block
4,x,0,3,3 2 = green, 3 = blue, 4 = grey, 0 = empty space
if the size of blocks extended vertically also. The matrix could look like,
333,220,22,3,www 1, 2 and 3 size blocks
x,22,0,3,0,44,332,2 note that all lines have 12 positions
Then juts build a nice parser for this. An implementation as easy as this also makes building a level editor a breeze.
333,222,22,3,www empty spaces extend the block on the top.
, ,33,33,22 note that they have to have the same size
w,444,2,333,22,22 as the block on top of them.