Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.63 KB | None | 0 0
  1. Exercise 5 Project Proposal
  2. ---------------------------
  3.  
  4. Names: Andrei and Niko (TR Section)
  5. ---------------------------
  6.  
  7. Project: Tetris
  8. ---------------------------
  9.  
  10. Summary: For the final project we have the idea of recreating the game tetris with the use of pygame. The final
  11. demonstration should be a playable tetris game in a window with the use of arrow keys and space bar.
  12. ---------------------------
  13.  
  14.  
  15. Milestones 1 (March 23):
  16. ---------------------------
  17. For the first milestone we are going to work on a simple framework of the window as well as the tetris pieces and
  18. their first-appearance locations.
  19.  
  20. - Framework: this is the passive environment of the game where the we will split the screen into three sections as
  21. shown below. Left section will be where the actual game is going to be played. Top right section is going to be where
  22. the upcoming block is going to displayed. Bottom right section is going to display the score and the number of lines
  23. cleared. Score is going to be calculated by adding each successful clear (#ofLinesCleared^2 * SpeedOfLevel).
  24. -------------
  25. [ X | X ] <-- Next Block
  26. [ |___]
  27. [ | S ] <-- Score
  28. [ | L ] <-- Lines Cleared
  29. -------------
  30.  
  31. - Basic Pieces are going to be created: square, L, line, T, S and reverse S
  32. - Each block piece is going to have to be made from a single little block then pieced together, so when they line up,
  33. we can sum up the # of blocks and if that's the max for the line, we clear it.
  34. - Implement the Initial Start of the game where the top piece is displayed as well as the upcoming piece.
  35. - Create the names for the Score and Lines Cleared, and set them to zero.
  36. - Spinning of the block with up and down arrows
  37.  
  38. Demo: Framework with a spinnable randomly generated shape somewhere in the window left window. The upcoming shape
  39. should also be generated in the correct location. Score = 0, Lines Cleared = 0.
  40.  
  41. Milestone 2 (March 30):
  42. ---------------------------
  43. Second milestone is going to focus mainly on the dynamic aspect of tetris where the falling of the blocks happens,
  44. how they interact with each other and the borders of the window. This is probably going to be the hardest part
  45. because the program is going to have to recognize if the line is full or not. If the line is full, it's going to have
  46. to be cleared and the blocks above would fall to on top of the others.
  47.  
  48. - Implement the key commands for moving of the block left or right arrows and instantly dropping with spacebar.
  49. - Also making sure that if the block is next to an edge and a spin happens that it is not spun out of the window.
  50. - Implement a base falling speed which can be adjusted to increase or decrease the difficulty in the game.
  51. - Implement random block generator to make sure that random block are dropped, not same ones.
  52.  
  53. Demo: The Blocks should fall from middle, be spinnable, and have collision with objects. Might be glitchy. Blocks
  54. should be stacking when they reach the bottom or another block. No line clears yet.
  55.  
  56. Milestone 3 (April 6):
  57. ---------------------------
  58. Third milestone is going to focus on working out the kinks in line-clear implementation, block collision and proper
  59. score and lines-cleared display. At this point the game should be playable once loaded. Ontop of that we are going to
  60. try and create a start menu before the game starts running and after it finishes.
  61.  
  62. - Testing and fine-tuning the program to run smoothly.
  63. - Integrate an automatic difficulty scaling after a set number of blocks have been dropped.
  64. - Link the score and the number of lines cleared, and make sure that they are working properly.
  65. - Start menu should load on game start,
  66. - The game should register when you loose and give you a screen where the user acknowledges the loss and returns him
  67. to start menu
  68. - One reaching new level, user is notified of the increase in difficulty
  69.  
  70. Demo: Full lines should be cleared. Proper block interraction with environment. Score should be shown properly, as
  71. well as the lines cleared. Start menu, level up display, and end game menu should be displayed correctly given the
  72. corresponding event.
  73.  
  74. Milestone 4 (April 6):
  75. ---------------------------
  76. Final milestone is the cleaning phase.
  77.  
  78. - Clean the code.
  79. - Comment the uncommented code.
  80. - Readme for getting the game up and running on a new machine
  81. - More testing, fine combing the code for presentability and readability.
  82.  
  83. Demo: Final Product. Properly functioning Tetris game. 6 types of block. Five keyboard inputs for spinning, moving
  84. and dropping the blocks instantly. Proper score and lines-cleared display. Interaction between objects in game should
  85. be smooth. Menus should be properly overlaid over the framework and give a few options such as starting a new game,
  86. and exiting.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement