Skip to content

Latest commit

 

History

History
2 lines (2 loc) · 984 Bytes

README.md

File metadata and controls

2 lines (2 loc) · 984 Bytes

ECE350Tetris

Our Final Project was a simple one-level Tetris game with block stacking and line clearing with 3 different block types: vertical rectangle, horizontal rectangle, and square blocks. It takes in two push button inputs to move and place blocks across the board, with debouncing methods in place to make the movement more like the real game. Collision detection exists so that there is no possibility for overlap between blocks, and the block being controlled cannot move into another block, horizontally or vertically. As for code design, we used Wrapper.v as a wrapper module to hold all of the necessary modules, including our VGAControllerTetris and our Processor. The VGAControllerTetris module holds much of the logic including construction of the game grid, assignment of pixels for VGA display, and movement of blocks. External modules were created to decode a random 2 bit number generated by the processor and debounce button inputs to allow for easy debugging.