So I have been doing a 2 hour thought process before coding any features of Tetris.
I am trying to cover anything that can potentially go wrong before I code it up. That way I don't wind up shooting myself in the foot or with long development time.
Things I thought about:
1) row test optimization
2) moving the tiles of the pieces using arrow keys
3) shifting control to a new piece once the previous piece is locked in place
4) generating a random piece from a list
5) know which row to eliminate from the board
6) making sure tile that is part of the piece is in the same orientation even when a row has been cleared.
This personal game project is much bigger than my simple arcade shooter and Pong game. My previous project never followed a thought process of 2 hours. It was more about adding a feature and making sure it works before moving on to a new feature.
How much do I need to cover before coding Tetris mechanics? How do I know I did leave anything out?
Or should I just implement the features I have right now and go from there?
I need suggestions on this coding practice.