   Tetris-clone question, the left-over bricks?
  Okay, so basically I'm writing a tetris-clone as my first game, and it's going pretty smooth so far (thankfully :D)Anyways, I'm soon going to have to start tracking all the objects that hit the bottom or whatever, and then store them/do collision detection based off that.I'm currently using an array of a struct called GameObjects that looks like this:struct OBJECT{float x, y;float rotation;float speed;int shape;GFX gfx;};Obviously I can change it up, or make another entirely - but I'm not sure what the best design is to approach this problem.  I also don't really know how to go about researching this type of question - thus I'm here to ask.  What would be a reasonable design to keeping track of all these left-over shapes?(For clarity's sake, I'm talking about the purple-block in this pic: (There's only one block down there because I'm currently only tracking the most recent block to hit the bottom lol, I'm bad I know ;( ))http://img196.imageshack.us/img196/4107/tetrisclone.jpg   
  Create another object to represent the game board itself.  Then you could use a 2D array to determine whether or not each space is occupied or not.   ;  Well since Tetris doesn't really have a large field, I figure you could have an array of tiles (width*height in size) that sets if a tile is empty or is holding a block (and in that case, which color). Since blocks in Tetris don't have a fixed shape once placed (if the lowest line is removed, only half of the purple block will be left) I don't see need to keep track of the exact shape of each block that has reached the ground, so you could go with just an array containing 1 byte per tile that holds something like empty, red block, blue block, green block or purple block. Only for current block you need to know the shape (because of rotating) and for the next block (to show what is coming next).   ;  Ah thanks for the fast responses, that sounds like it will do the trick.  ^^   