Tetris for Intro/Intermediate Programmers
Step 8: More Ideas (Bonus/Optional)
We now have written a reasonably complete, reasonably fun game of Tetris. Congratulations!
That said, our game is somewhat minimalist, leaving many opportunities for additional work, some of it relatively easy, some of it quite hard and requiring that you learn challenging features through self-study. At our discretion, we may award you up to 6 bonus stars for adding extra features, though you should mostly pursue this in the interest of fun and practice. (If you add extra features,
be sure to activate bonus mode by pressing 'b', as described in the homework writeup.) Here are some ideas, roughly in increasing order of difficulty:
Dual rotation (adding clockwise rotation in addition to counterclockwise rotation).
Levels of play with increasing difficulty (dropping faster, with more difficult piece types, and with some cells randomly filled, etc).
More attractive pieces (look at the "Docs + Colors" page on CS Academy for some interesting options).
"Splash screens" with help instructions.
Piece Preview (so you can see what the next piece will be before it arrives).
(Moderate) A Piece editor (so you can create new types of pieces and add them to the game).
(Very Hard) Making this implementation object-oriented (that is, using classes) -- for example, adding a Piece class with LPiece, SPiece, and so on as subclasses, and then actual falling pieces as instances.
Once we are farther in the course, you could make the following modifications as well! (Though this assignment will have been graded by then so there won't be any bonus!)