Click a square to add a block. When you add a block, if there are any blocks of the same type around it, it will join with those to increase the block you just put down once. After it joined once, if there are any of the squares around it that are the same value, it will join with those, and it will continue to do this until it joined and there are no more tiles surrounding it of the same value. Every time you fill up the bars on the sides, it will give you a boost in your score. The goal of the game is to get the highest possible tile value, without filling the entire board and not have any possible moves. Sounds confusing, right? Just play it, you'll understand eventually :\
I did it all myself, including the art, programming, but I got my inspiration from Beyond 14, the actual game (which is much better than this one) If there are any glitches, Please don't hesitate to comment them. P.S. who else thinks this is a game you could play for hours? I certainly do.