Thanks for checking this out for me Traveller I really appreciate all your comments.

Yeah, I've seen that bug too.. It's really annoying but quite infrequent so it's difficult to pin down and kill the source of it. I think it's if I call a block while it's falling, I don't die, but get stuck.. something like that.

I'll put code in to prevent that and also I think I'll have to put some belt&braces code in for the time being to ensure that you're never stuck inside a block, it'll move you up to the next available block vertically.
There is a bug where if you're doing something on a falling block (when you've completed a line).. calling again I believe, you get stuck.

As for the gameplay aspects,

For situations where you're trapped, as you show in that screenshot, currently without using bombs it's impossible to get out of that scenario.

Part of this is deliberate, the player should have to think about their next move and how it will affect them, will they become trapped?

There's wall climbing, but without a way to jump off the wall at the moment, it's useless. I need to think about wether wall climbing and jumping off is a good idea or not. (It's certainly a lot more animation to do... tricky animation too ) will it unbalance the game?

I've had situations where I've gotten myself stuck, then found a way out of it using a combination of bombs and blocks, I'd blow a hole in the wall with a couple of bombs and make enough room for a block which I can climb on.. I felt a great sensation of accomplishment when I got out of that scenario by planning and luck.

But without any bombs, it's a pain.. or with bombs but not enough space to get out of the blast... pain again.

I have a couple of options as far as I can tell.

1, Add an additional jump & grab move, so the player would climb onto a block and jump & grab the block above them to the left or right and then start to climb. (Yet more animation and additional states to debug) This would only help in certain circumstances.

Code:
X <--- Jump up and grab this block and climb 
 P <-- Player
 P
 X
 X
 X


2, Add a forfeit life option so that the player appears at the top of the map again as if they'd died.

I don't want to add Mario or Sonic style jumping around though, the whole point was to try to make the animations as realistic as possible..

..also, I have to be very careful about the options I add to get out of one situation as they could unbalance the gameplay in other areas.

A friend of mine suggested tunnelling, it would help in this scenario, but people would just tunnel away the blocks they didn't want to fit with the next block, taking away part of the gameplay.


So far, my favourite idea is the forfeit life idea.. this will push the players towards playing the tetris game properly and thinking about their moves a bit more before they make them. It's also the least work for me