====== Midterm Project ====== ~~NOTOC~~ **CS203** \\ **Spring 2013** \\ **Assigned:** Mon, Feb 11 \\ **Due:** Fri, Mar 8 \\ ===== Summary ===== Implement, document, and test a Simple Tetris game, based on the game described in HtDP/2e: [[http://www.ccs.neu.edu/home/matthias/HtDP2e/Draft/part_two.html#(part._sec~3atetris)|Section 13.3]] ===== Components ===== * Javadoc comments from which to generate your Tetris API user documentation: * describe each class (except Examples class) * describe each public class (static) variable * describe each public method * Tests based on the Javalib tester library in an Examples class * see links in the sidebar for API documentation * The game classes: based on the Javalib game world libraries * see links in the sidebar for API documentation ===== Design Advice ===== * study and play with BlobWorldImp project * run program * play game * read code * look up what you don't understand * what classes will you need for your Simple Tetris game? * TetrisWorld ---represents Simple Tetris game * Block ---represents a falling block * Blocks ---represents collection of blocks that have landed * RandomColorGenerator ---provides a random color for blocks * what fields will you need for each class? * TetrisWorld * ? * Block * ? * Blocks * ? ===== Grading Rubric ===== - API documentation (javadoc-generated) - overall design (classes, relationships) - coding style (indentation, spacing, variable names, etc.) - tests (for every public method, sufficient number for each method) - game appearance / playability - your own creativity (above and beyond minimum requirements)