Since you're going for an implementation of classic tetris, I should inform you that your game lacks a "random bag". The random bag is what keeps the RNG in tetris fair and possible to continue indefinitely, and it is absolutely part of the standard and has been since even before the NES game. Here's how it works: Every turn, you pull a tetromino from a pool of 7 unique and randomly sorted tetrominoes. Once you've gone through the pool, it is re-sorted. A common analogy for this is pulling names out of a hat. Or a "random bag". This means it's possible to get, e.g. two line pieces in a row (back to back), but it's not possible to get three square pieces in six turns. This is what happened to me at the beginning of the game, and it's how I know you didn't implement it. It's a violation of the rules because the RNG can potentially create impossible situations (like when the game spawned several S and Z pieces in an unrelenting fury that quickly ended my game).