As most long-time Quinn/Tetris/etc players are aware, as a piece moves downward to the point that it's "on" the blocks below it, there is a period of time that the piece floats and is still capable of being moved left or right before it's "locked" into place. What I have noticed with Quinn is that at the end of the game, when the penultimate piece comes on to the board such that the top of the piece graces the top of the board, that piece immediately "locks" without giving the user a chance to move it left or right. So the next piece then immediately falls and the game is over. Having the chance to move that next-to-last piece like all the previous ones is an opportunity to clear a line or two and extend the game, so I'd like to request in future builds that piece get treated like any other piece coming on to the board.
I must say that I cannot confirm the behavior you describe. I did the following: I dropped all pieces until only two blank rows were left at the top, like in picture 1. Then the brown L-shaped piece came in (picture 2), and I was still able to move it left or right. Is this the situation you mean? Otherwise, could you clarify it?
Also, i've noticed the "randomness" of the piece selection doesn't seem to be so random. Frequently Quinn seems to get "stuck" serving the same one or two pieces over and over, and then move on to another couple after 5 or 10 seconds. Would it be possible to get the randomness tweaked just a little bit. Something has to be awry when it is pretty much guaranteed during every game I get served 9 or 10 square peices in a row.
I know that this is sometimes annoying, but it is a purely random effect. There's a way to count piece repetitions: Quit Quinn, go to the Terminal, and enter the command
defaults write Quinn QuinnStatisticsFlag YESAfter that, Quinn will write a short statistic to the Console at the end of each game, which includes a repetition count (the number of times that a new piece is equal to the previous one), and the number of repetitions divided by the total number of pieces. That last number should be close to 0.143 = 1/7 for a purely random piece selection, and it usually is, provided the game was sufficiently long.
(Note: Due to a bug, the repetition counter currently only gives correct results for the very first game after starting Quinn. I already fixed this, so it will work in the next release.)
Is rand()/srand() being used in Quinn? The behavior I am describing is a known issue with the rand when used in any form. That is why it is generally considered obsolete by the software development community. random()/srandom() is included in most C++ packages (including cocoa) and generally considered to be completely random when seeded correctly.
The random number generator for new pieces is a very simple algorithm suggested by Knuth, which is said not to have such effects as rand(). I can tell you the algorithm if you're interested.